首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果条件为真,如何跳过一行代码?

如果条件为真,如何跳过一行代码?
EN

Stack Overflow用户
提问于 2019-10-18 12:52:23
回答 4查看 677关注 0票数 0

当我输入一个不在1和7之间的数字时,它会显示“错误!请输入星期几的数字(1-7):”,但在输入某些内容后,它会显示“输入一周的日期的数字(1-7):”。当输入的数字不在1-7之间时,我希望“错误!请输入一个数字(1-7)作为星期几:”替换为“输入一个数字(1-7)作为星期几:”。我之前尝试过的东西是把print(错误!)但是我不喜欢那个错误!出现在上面,请输入一个数字。有没有办法让它们出现在同一行上?顺便说一下,我的教授要求我使用if-elif else语句,并且代码是一个连续循环。

代码语言:javascript
复制
keep_going = 'y'
while keep_going == 'y':
    day = int(input('Enter a number (1-7) for the day of the week:'))
    if  day == 1:
        print('Monday')
    elif day == 2:
        print('Tuesday')
    elif day == 3:
        print('Wednesday')
    elif day == 4:
        print('Thursday')
    elif day == 5:
        print('Friday')
    elif day == 6:
        print('Saturday, Happy Weekend!')
    elif day == 7:
        print('Sunday, Happy Weekend!')
    else:
        int(input('Error! Please enter a number (1-7) for the day of the week:'))
EN

回答 4

Stack Overflow用户

发布于 2019-10-18 12:55:22

您忘记了代码最后一行的赋值。day的值永远不会更新。

代码语言:javascript
复制
day = int(....

顺便说一句,您也从不更新keep_going的值。你的循环永远不会停止。最后,您应该使用日期名称列表,并按索引访问名称,而不是使用8路if语句。

票数 1
EN

Stack Overflow用户

发布于 2019-10-18 13:02:45

最好的解决方案是将代码的最后几行改为:

代码语言:javascript
复制
    else:
        print('Error! ', end='')

然后,控制将返回到循环的开头,并且"Enter a number"提示符将同时作为错误的解释和输入新数字的提示符。

这样,您的表单将保持一致,以便所有if分支只执行一个print,而不执行其他任何操作。

票数 0
EN

Stack Overflow用户

发布于 2019-10-18 13:02:50

一些风格上的调整(我的观点,我知道),并为while循环添加了缺失的day变量赋值和退出条件。

代码语言:javascript
复制
keep_going = True
response = dict(zip(
    range(1,8), (
         'Monday',
         'Tuesday',
         'Wednesday',
         'Thursday',
         'Friday',
         'Saturday, Happy Weekend!',
         'Sunday, Happy Weekend!'
    )
))
while keep_going:
    day = int(input('Enter a number (1-7) for the day of the week:'))
    if  day in response:
        print(response[day])
        keep_going = False
    else:
        day = int(input('Error! Please enter a number (1-7) for the day of the week:'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58444135

复制
相关文章

相似问题

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