Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 洗发水循环圈_Python - Fatal编程技术网

Python 洗发水循环圈

Python 洗发水循环圈,python,Python,我在找出如何停止代码中的循环时遇到问题: def shampoo_instructions(num_cycles): for num_cycles in range(1,num_cycles+1): if num_cycles < 1: print 'Too few.' elif num_cycles > 4: print 'Too many.' else:

我在找出如何停止代码中的循环时遇到问题:

def shampoo_instructions(num_cycles):
    for num_cycles in range(1,num_cycles+1):
        if num_cycles < 1:
            print 'Too few.'
        elif num_cycles > 4:
            print 'Too many.' 
        else:
            print num_cycles, ': Lather and rinse.'
    else:     
        print 'Done.'

shampoo_instructions(2)
def洗发水指令(num_周期):
对于范围内的num_循环(1,num_循环+1):
如果num_周期<1:
打印“太少”
elif num_cycles>4:
打印“太多”
其他:
打印周期数,':起泡并冲洗
其他:
打印“完成”
洗发水使用说明(2)
我的输出是:

1:起泡并冲洗

2:起泡并冲洗

完成了

当洗发水使用说明(6)时,我如何才能做到这一点

它只是打印“太多了。”


将范围检查移动到实际循环之外,例如:

def shampoo_instructions(num_cycles):
    if num_cycles < 1:
        print 'Too few.'
    elif num_cyles > 4:
        print 'Too many.'
    else:
        for num_cycles in range(1,num_cycles+1):
            print num_cycles, 'lather and rinse.'
        print 'Done'
def洗发水指令(num_周期):
如果num_周期<1:
打印“太少”
elif num_cyles>4:
打印“太多”
其他:
对于范围内的num_循环(1,num_循环+1):
打印周期数,“起泡并冲洗”
打印“完成”

您正在
范围内进行范围检查
-将其置于
范围之外
,这样您就知道使用
范围
是安全的。程序员是如何在淋浴中死去的?他读了洗发水瓶说明:起泡。冲洗重复。可能最好不要在中使用
num_cycles
loop@Padraic在这种情况下,由于不可变且范围有限,这实际上并不重要,但这是一个很好的观点。。。如果原始的
num_cycles
值需要保留,那么是的,OP应该明确地在for循环中重命名
num_cycles
-好点:)只发现了它,因为我在使用break in the循环时出现了奇怪的行为;)