Python

Задача на Python 10

Напиши программу, которая с помощью цикла while определяет, все ли цифры введённого числа различны. Нужно вывести одну из двух строк:
• Все цифры числа различные.
• Не все цифры числа различные.
Один цикл, линейная сложность:
 s = input(); int(s)
digits, it = set(), iter(s)
d = next(it, None)
while d is not None and d not in digits:
if d.isdigit(): digits.add(d)
d = next(it, None)
print((f'Есть дубликат: {d}', 'Все цифры различны')[d is None])
ВБ
Владимир Беляков
87 571
Лучший ответ
number = int(input("Введите число: "))
digits = [] # создаем пустой список для цифр
while number > 0:
digit = number % 10
if digit in digits: # проверяем, есть ли уже такая цифра в списке
print("Не все цифры числа различные.")
break # выходим из цикла, если нашли повторяющуюся цифру
digits.append(digit) # добавляем цифру в список
number //= 10 # убираем последнюю цифру из числа
else: # если цикл завершился без прерывания - все цифры различны
print("Все цифры числа различные.")

Конечно, я могу помочь вам с этой задачей на Python.

Вы можете использовать следующий код:

```
num = input("Введите число: ")
i = 0
flag = True

while i < len(num) - 1 and flag:
j = i + 1
while j < len(num) and flag:
if num[i] == num[j]:
flag = False
j += 1
i += 1

if flag:
print("Все цифры числа различные.")
else:
print("Не все цифры числа различные.")
```

В этом коде мы сначала запрашиваем у пользователя число, затем используем два вложенных цикла while для проверки всех возможных пар цифр в числе. Мы используем переменную `flag`, чтобы отслеживать, если мы найдем две совпадающие цифры в числе, то установим ее значение на `False`. Если после завершения цикла `flag` равен `True`, это означает, что все цифры введенного числа различны, и мы выводим соответствующее сообщение. Если значение `flag` равно `False`, это означает, что есть повторяющиеся цифры в числе, и мы также выводим соответствующее сообщение.
Олег Авраменко
Олег Авраменко
10 435