首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >家庭作业:用参数shampoo_instructions()编写函数num_cycles

家庭作业:用参数shampoo_instructions()编写函数num_cycles
EN

Stack Overflow用户
提问于 2018-06-30 16:41:27
回答 9查看 34.3K关注 0票数 0

问题:编写带有参数shampoo_instructions()的函数num_cycles。如果num_cycles小于1,则打印"Too few."。如果超过4,打印"Too many."。否则,打印"N : Lather and rinse." num_cycles times,其中N是循环数,后面是"Done."

给定程序的样本输出:1:泡沫和漂洗。2:泡沫和漂洗。好了。

我的代码:

代码语言:javascript
复制
    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

代码语言:javascript
复制
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
EN

回答 9

Stack Overflow用户

发布于 2018-06-30 16:46:13

代码语言:javascript
复制
def shampoo_instructions(num_cycles):
    if num_cycles < 1:
        print ('Too few.')

这一行:

代码语言:javascript
复制
    elif num_cyles > 4:

应:

代码语言:javascript
复制
    elif num_cycles > 4:

在修正之后,错误就消失了。所以其余的在语法上都很好。但是,为了获得所需的输出,我做了一些更改:

代码语言:javascript
复制
        print ('Too many.')
    else:
        i = 0
        while i<num_cycles:
            print (i+1,": Lather and rinse")
            i = i + 1

    print('Done')

这就产生了:

代码语言:javascript
复制
1 : Lather and rinse
2 : Lather and rinse
Done

因此,您可能需要<而不是<=,并且在打印之前,您在i中添加了两次1。

票数 4
EN

Stack Overflow用户

发布于 2018-10-17 00:19:09

有几个语法错误和不正确的变量。所有这些都已被修正,代码已经过测试。干杯!

代码语言:javascript
复制
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)
票数 4
EN

Stack Overflow用户

发布于 2022-10-06 03:08:08

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51116712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档