【发布时间】:2015-01-04 11:46:39
【问题描述】:
我正在研究 Code Abbey 问题 23,Neumann 的随机生成器。目标是使用给定算法从列表中的每个值生成一系列随机数,并继续直到算法产生与我们开始时相同的数字。然后,打印到达循环所需的通过次数。我似乎无法让我的代码工作;我很确定这与while循环有关。我将不胜感激任何帮助,尤其是对我做错了什么的解释。
这是我的代码:
cases = int(input())
values = [int(x) for x in input().split()]
def random_number(values):
for value in values:
random = pow(value, 2)
passes = 0
equal = False
while not equal:
if len(str(random)) < 8:
random = int(str(random).zfill(8))
random = (random // 100) % 10000
passes += 1
if random == value:
equal = True
else:
random = pow(random, 2)
print(passes, end=' ')
random_number(values)
这是我的意见:
12
6239 8935 4715 8785 9737 9251 3251 3544 9631 4655 903 7589
【问题讨论】:
-
你还没有告诉我们问题出在哪里。
-
抱歉 - 问题是,不知何故,我创建了一个无限循环。但我不知道在哪里。
标签: python python-3.x