[英]Why does't my code print the output?
multiple_one = 3.0
multiple_two = 5.0
multiple_answer = 1
while ( multiple_answer < 1000):
number_of_multiples = 0
checking_multiple = 1000.0
if (checking_multiple / multiple_one).is_integer:
number_of_multiples += 1
elif (checking_multiple / multiple_one).is_integer:
number_of_multiples += 1
checking_multiple -= 1
print number_of_multiples
我的代码假设打印出有多少倍数,但一直失败。 这是为什么 ?
您的程序陷入无限循环。 你开始在这里循环:
while ( multiple_answer < 1000):
但永远不要更新multiple_answer
所以你的循环永远不会结束。
您永远不会更改multiple_answer
因此它始终小于 1000,因此您在 while 语句中陷入无限循环。 你想计算你乘以的次数吗? 如果是这样,你想改变
multiple_one = 3.0
multiple_two = 5.0
multiple_answer = 1
while ( multiple_answer < 1000):
number_of_multiples = 0
checking_multiple = 1000.0
if (checking_multiple / multiple_one).is_integer:
number_of_multiples += 1
elif (checking_multiple / multiple_one).is_integer:
number_of_multiples += 1
checking_multiple -= 1
print number_of_multiples
成为:
multiple_one = 3.0
multiple_two = 5.0
multiple_answer = 1
while ( number_of_multiples < 1000):
checking_multiple = 1000.0
if (checking_multiple / multiple_one).is_integer:
number_of_multiples += 1
elif SOMETHING_DIFFERENT:
SOMETHING_ESLE_DIFFERENT
print number_of_multiples
通过这种方式,您不会在每次迭代中重置number_of_multiples
,而是根据基于迭代而发生变化的内容检查 while 循环。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.