Python While循环未执行else块

时间:2019-03-09 08:12:29

标签: python

def jump_slide():

    num=int(input('Enter a number :'))
    if num>20:
        print('slide under')
    else:
        print('jump over')

当不在while循环中时,上面的命令运行得很好。
但是一旦进入下面的循环,它将完全忽略else块

while True:
   jump_slide()

请提出任何建议。
我是Python的新手

3 个答案:

答案 0 :(得分:0)

您的代码取决于您在函数“ jump_slide()”中对变量num的输入。

如果您给num变量赋予小于20的值,它将执行else块。

否则,就语法而言,您的代码就可以了。

答案 1 :(得分:0)

if-else是一个条件语句,因此根据if中的条件,它将执行其中一个语句。

程序中的示例:

Say you enter a number 30 when you run the program, it will print "slide under" but suppose 
if you enter 10 your program will print "jump over".

因此,根据您的输入,它会打印两个语句中的一个,但不会同时打印两个。

答案 2 :(得分:0)

您的代码很好。完成工作的另一种方法是。

def jump_slide():

while(True):
    num=int(input('Enter a number :'))
    if num>20:
        print('slide under')
    else:
        print('jump over')
    if num==-1:
        break

不要在此处放置while循环。

jump_slide()

现在,如果执行时输入的num大于20,并在屏幕上打印“ Slide under” 如果输入的数字小于20,则执行并在屏幕上打印“跳过” 如果按-1,则函数执行或程序结束后,循环将中断并执行代码