Программирование на Python.
Создайте пж программу простую, с циклом while.
Одинаковые цифры
Дано натуральное число. Напишите программу, которая определяет, состоит ли указанное число из одинаковых цифр.
Формат входных данных
На вход программе подается одно натуральное число.
Формат выходных данных
Программа должна вывести «YES» если число состоит из одинаковых цифр и «NO» в противном случае.
Answers & Comments
Ответ:
--- Python 3.8.3 ---
#1 "Как надо" (С While)
def IsNumberSingledigit(number):
lastDigit = number % 10
temp = lastDigit
flag = True
while number > 0:
lastDigit = number % 10
if not temp == lastDigit: flag = False
temp = lastDigit
number //= 10
return flag
def main():
print(IsNumberSingledigit(int(input())))
if __name__ == "__main__":
main()
#2 Как стоило бы в подобном случае
number = int(input()) #Представляем число как строку
print(True if (len(set(str(number))) == 1) else False)
P.S Приведение сначала к числу а потом обратно к строке нужно для уверенности, что мы работаем именно с числом, а не с "аааааа".
Объяснение:
number = list(input())
a = number[0]
b = 1
i = 1
while i != len(number):
if(a == number[i]):
b += 1
i += 1
if(b == len(number)):
print('YES')
else:
print('NO')
a = number[0]
for i in number:
if (i != a): return False
return True