while循环,永远运行或倒计时

reo*_*eox 5 python optimization

有没有更好的解决方案来编写一个while循环,如果参数为0则永远运行,或者如果参数是任意n大于0,则运行n次:

x = options.num  # this is the argument (read by Optparse)
if x == 0:
    check = lambda x: True
else:
    check = lambda x: True if x > 0 else False
while check(x):
    print("Hello World")
    x -= 1
Run Code Online (Sandbox Code Playgroud)

你可以将lambda组合成:

check = lambda x: True if x > 0 or options.num == 0 else False
Run Code Online (Sandbox Code Playgroud)

但是你仍然需要倒数x,除非你在那之前放一个if.

Jam*_*lls 6

怎么样:

n = options.num

while (options.num == 0) or (n > 0):
    print("Hello World")
    n -= 1
Run Code Online (Sandbox Code Playgroud)

基本上我们有一个无限循环,如果x == 0或我们只运行n时间.

  • 那不行.如果n> 0,则当它达到0时需要停止. (2认同)