Я пытаюсь создать программу, которая проверяет, является ли введенный номер happy number.Проверка на счастливое число - инструкция else не работает
Мой код находит каждое из чисел после возведения в квадрат и добавления, но когда он достигает 1, я ожидаю, что он напечатает «это счастливое число».
Я не могу увидеть что-то не так с кодом, но я мог бы пропустить что-то простое.
Вот код:
number = raw_input('What number?')
dictionary = {}
counter = 0
counter_2 = 0
while counter_2 < 20:
counter_2 += 1
if number != 1:
for n in str(number):
n = int(n)**2
counter += 1
dictionary ['key{}'.format(counter)] = n
added = sum(dictionary.values())
dictionary = {}
number = str(added)
print number
else:
print 'that is a happy number'
номер является строкой, и вы сравниваете его с Int – levi
BTW, 'не номер == 1' лучше записать в виде' числа! = 1'. – Barmar
Поскольку 'number' уже является строкой, вам не нужно использовать' str (number) '. – Barmar