我的if语句是错误的,但它确实打印了结尾

2024-10-17 08:24:15 发布

您现在位置:Python中文网/ 问答频道 /正文

x = 5
print('Before 5')
if x > 5:
    print('Is 5')
    print('Is still 5')
    print('Third 5')
    print('Afterwards 5')
    print('Before 6')
if x == 6:
    print('Is 6')
    print('Is still 6')
    print('Third 6')
print('Afterwards 6')

所以开头是错误的,我希望只打印('5'之前)打印('5'之后)和打印('6'之前) 但是它没有,只打印打印('5'之前)并停止。我还尝试删除空格,使其与true语句不在同一行,这是我的结果:

第9行,如果x==6: 缩进错误:意外缩进

我自己学习,这是我第一次学习编程语言,它很有趣,但我很难解决这个问题:谢谢


Tags: trueifis错误语句编程语言空格print
3条回答

试试elif:而不是if:-它应该是这样工作的

您只需删除“print('after 5')和“print('Before 6')上的缩进即可。 所以,如果我正确理解你的问题,那么这就是解决方案

x = 5

print('Before 5')

if x > 5:
    print('Is 5')
    print('Is still 5')
    print('Third 5')

print('Afterwards 5')
print('Before 6')

if x == 6:
    print('Is 6')
    print('Is still 6')
    print('Third 6')

print('Afterwards 6')

它停止是因为: x不大于5,因此它跳过第一个if。 x不是6,因此它跳过第二个if。 它打印两个if块中的所有内容。 这就是为什么它只打印Before 5Afterwards 6

我想你想要这个:

x = 5
print('Before 5')
if x > 5:
    print('Is 5')
    print('Is still 5')
    print('Third 5')
print('Afterwards 5')
print('Before 6')
if x == 6:
    print('Is 6')
    print('Is still 6')
    print('Third 6')
print('Afterwards 6')

相关问题 更多 >