Ric*_*nny 1 python set python-2.7
a = int(raw_input("Enter a number to check if it is happy:"))
l = map(int, str(a))
c = 0
while 1:
for i in l:
b = i
c = c + b **2
if c == 1:
print "Happy Number!"
raw_input("Hit enter to end")
break
elif c == a:
print ("Not a Happy number")
raw_input("Hit enter to end")
break
else:
l = map(int, str(c))
Run Code Online (Sandbox Code Playgroud)
这是我用Python编写的代码,它使用数字1和0,但是我尝试过的任何其他数字都使它无限循环.有人可以看看我做错了什么并提出解决方案吗?谢谢 :)
试试这个:
a = int(raw_input("Enter a number to check if it is happy: "))
visited = set()
while 1:
if a == 1:
print "Number is happy!"
break
a = sum(int(c) ** 2 for c in str(a))
if a in visited:
print "Number is sad!"
break
visited.add(a)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9162 次 |
| 最近记录: |