入力した数字が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'
数値は文字列であり、それは – levi
と比較しています。「not number == 1」は 'number!= 1'としてよく書けます。 – Barmar
'number'はすでに文字列なので、' str(number) 'を使う必要はありません。 – Barmar