首页 > 解决方案 > 如果条件为真,如何跳过一行代码?

问题描述

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

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:'))

标签: pythonpython-3.x

解决方案


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

day = int(....

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


推荐阅读