【问题标题】:python while loop range functionpython while循环范围函数
【发布时间】:2018-09-15 14:32:28
【问题描述】:

为什么不能在python中的范围函数上使用while循环?

代码:

def main():
  x=1;

  while x in range(1,11):
     print (str(x)+" cm");


if __name__=="__main__":
    main();

作为无限循环执行,重复打印 1 厘米

【问题讨论】:

  • x 的值永远不会改变,因此它始终满足您的“while”标准。
  • 你能把你的代码写在一个代码框中,有适当的缩进等等吗?查看帮助部分以了解如何制作代码框(4 个空格或 CTRL+K)
  • 可以的。你永远不会改变x 的值,所以它总是in 的范围。
  • “在范围内使用 while 循环”是什么意思?如果它的意思是“遍历范围”,那么答案就是“因为这就是 for 循环的用途”。

标签: python-3.x while-loop range


【解决方案1】:

对于您正在做的事情,for 循环可能更合适:

for x in range(1,11):
    print (str(x)+" cm")

如果你想使用while,你需要更新x,否则你最终会得到你所描述的无限循环(x总是=1,如果你不改变它,所以条件永远是真的;))。

【讨论】:

  • 我想这不是最好的表现,对吧?因为它创建了一个不需要的元组,对吧?
  • @DennyWeinberg range(1,11) 不是元组,而是 range() 函数的参数。
  • 我认为 range 创建了一个元组(返回一个元组),但这是不对的。对不起
【解决方案2】:

简单地说,我们可以在 python 中使用 whilerange() 函数。

>>> while i in range(1,11):
...     print("Hello world", i)
... 
Hello world 1
Hello world 2
Hello world 3
Hello world 4
Hello world 5
Hello world 6
Hello world 7
Hello world 8
Hello world 9
Hello world 10

>>> i
10

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 2019-04-07
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多