繁体   English   中英

为什么我的代码不打印输出?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM