Программирование на Python. Создайте программу простую, с циклом while.
Одинаковые цифры

Дано натуральное число. Напишите программу, которая определяет, состоит ли указанное число из одинаковых цифр.

Формат входных данных 
На вход программе подается одно натуральное число.

Формат выходных данных
Программа должна вывести «YES» если число состоит из одинаковых цифр и «NO» в противном случае.

pikapchu pikapchu    1   08.06.2020 19:45    106

Ответы
bagfaver bagfaver  15.10.2020 13:26

--- 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 Приведение сначала к числу а потом обратно к строке нужно для уверенности, что мы работаем именно с числом, а не с "".

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
Фея1011 Фея1011  15.10.2020 13:26

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')

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика