问题:使用参数num_cycles
编写函数shampoo_instructions()
。如果num_cycles
小于 1,请打印"Too few."
。如果超过 4 个,请打印"Too many."
。否则,打印"N : Lather and rinse."
num_cycles
次,其中 N 是周期号,后跟"Done."
。
给定程序的示例输出: 1 : 揉搓出泡沫并冲洗干净。 2 : 揉搓出泡沫并冲洗干净。 做。
我的代码:
def shampoo_instructions(num_cycles):
if num_cycles < 1:
print ('Too few.')
elif num_cyles > 4:
print ('Too many.')
else:
i = 0
while i<=num_cycles:
i = i + 1
print (i+1,": Lather and rinse")
print ('Done')
shampoo_instructions(2)
我的代码抛出以下错误,我似乎无法弄清楚如何定义num_cycles
.
Traceback (most recent call last): File "main.py", line 14, in
shampoo_instructions(2) File "main.py", line 4, in shampoo_instructions
elif num_cyles > 4: NameError: global name 'num_cyles' is not defined
def shampoo_instructions(num_cycles):
if num_cycles < 1:
print ('Too few.')
这一行:
elif num_cyles > 4:
应该是:
elif num_cycles > 4:
修复后,错误将消失。所以其余的在语法上都很好。但是,我进行了一些更改以获得所需的输出:
print ('Too many.')
else:
i = 0
while i<num_cycles:
print (i+1,": Lather and rinse")
i = i + 1
print('Done')
这会产生:
1 : Lather and rinse
2 : Lather and rinse
Done
因此,您可能想要<
而不是<=
并且您在之前将 1 添加到i
两次之前。
有几个语法错误和不正确的变量。所有内容都已更正,代码已经过测试。干杯!
def shampoo_instructions(num_cycles):
if num_cycles < 1:
print ('Too few.')
elif num_cycles > 4:
print ('Too many.')
else:
i = 0
while i < num_cycles:
print (i+1,": Lather and rinse.")
i = i + 1
print('Done.')
shampoo_instructions(2)
def print_shampoo_instructions(num_cycles):
if num_cycles < 1:
print ('Too few.')
elif num_cycles > 4:
print ('Too many.')
else:
n = 0
while n != num_cycles:
n = n + 1
print ( n ,': Lather and rinse.')
print ('Done.')
user_cycles = int(input())
print_shampoo_instructions(user_cycles)
def shampoo_instructions(num_cycles):
if num_cycles <= 1:
print('Too few.')
elif num_cycles > 4:
print('Too many.')
else:
i = 0
while i<num_cycles:
i += 1
print (i,": Lather and rinse.")
print('Done.')
def shampoo_instructions(num_cycles):
if num_cycles < 1:
print('Too few.')
elif num_cycles > 4:
print('Too many.')
else:
i = 0
while i<num_cycles:
print (i+1,": Lather and rinse.")
i = i + 1
print('Done.')
shampoo_instructions(2)
def shampoo_instructions(num_cycles):
if num_cycles < 1:
print('Too few.')
elif num_cycles > 4:
print('Too many.')
else:
i = 0
while i<num_cycles:
i = i + 1
print (i,': Lather and rinse.')
print('Done.')
shampoo_instructions(2)
def shampoo_instructions(num_cycles):
if num_cycles < 1:
print('Too few.')
elif num_cycles > 4:
print('Too many.')
else:
i = 0
while i < num_cycles:
print (i + 1,': Lather and rinse.')
i = i + 1
print('Done.')
user_cycles = int(input())
shampoo_instructions(user_cycles)
def shampoo_instructions(num_cycles):
if num_cycles < 1:
print ('Too few')
elif num_cycles > 4:
print ('Too many')
else:
n = 0
while n != num_cycles:
n = n + 1
print ( n ,':Lather and rinse.')
print ('Done.')
这是工作代码。 其他答案通过在 while 语句中使用<
或<=
运算符提供了一个无限循环。
def print_shampoo_instructions(num_cycles):
if num_cycles < 1:
print('Too few.')
elif num_cycles > 4:
print('Too many.')
else:
i = 0
while i < num_cycles:
print(i + 1, ': Lather and rinse.')
i = i + 1
print('Done.')
user_cycles = int(input())
print_shampoo_instructions(user_cycles)
def shampoo_instructions(num_cycles(: 如果num_cycles <1: 打印("太少。 埃利夫num_cycles> 4: 打印("太多了。 还: x G 颜 而 n != num_cycles: n = n + 1 打印 ( n ,':揉搓出泡沫并冲洗。
print ('Done.')