为什么while循环得到错误的outcom

2024-09-19 20:46:38 发布

您现在位置:Python中文网/ 问答频道 /正文

问题是:给定一个正整数num_昆虫,编写一个while循环,打印该数字的两倍,但不超过100。每个数字后面跟着一个空格。在

输入:8 预期输出:8 16 32 64

但实际产量:

8
16
32
64
128

这是我的密码

^{pr2}$

Tags: 密码数字num空格产量while昆虫正整数
2条回答

当打印^{cd1>}的循环开始时,^{cd2>}的值满足while循环条件。循环开始后,它将被更改。

这对你有意义吗?

让我们来看看最后一次迭代。

while num_insects <= 100: # Current value is 64
    if_num_insects >0:    # This is true. 64 is greater than 0
        num_insects *= 2  # Double 64. Now it is 128
    print(num_insects)    # Prints 128

此时,^{cd3>}不再为true,循环退出。

这是因为当num_costs为64时,条件num_costs<;=100为真。然后将其乘以2,即128,然后打印出来。要解决此问题,您需要检查num_costs*2是否小于100,如下所示:

num_insects = int(input("")) 

while num_insects * 2 <= 100:
   if num_insects > 0:
      num_insects *= 2
      print(num_insects)

相关问题 更多 >