Python, пока цикл не выполняет блок else

#python

#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

Комментарии:

1. Есть что-то, чего вы нам не показываете. Ваш код отлично работает для меня, независимо от того, находится он внутри while цикла или нет.

2. отключите свое ядро и повторите попытку. В коде здесь нет никаких проблем. Код, который вы запускаете в памяти, может не совпадать с кодом, написанным здесь.

3. Это не то поведение, с которым я сталкиваюсь при запуске вашего кода. Пожалуйста, разместите остальную часть кода в контексте.

4. Было бы полезно, если бы вы опубликовали весь свой код.

Ответ №1:

Ваш код зависит от входных данных, которые вы вводите в переменную num в функции `jump_slide()’.

Если вы присвоите переменной num значение меньше 20, она выполнит блок else.

в остальном ваш код в порядке с точки зрения синтаксиса.

Ответ №2:

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".
  

Таким образом, в зависимости от вашего ввода он будет печатать любой из операторов, но не оба.

Ответ №3:

Ваш код в порядке. Еще один способ выполнить вашу работу — .

 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()
  

теперь, если вы введете число больше 20, если выполните и «Сдвинете под» напечатаете на экране
если вы введете число меньше 20, else выполнится и «Перепрыгнет» печать на экране
если вы нажмете -1, ваш цикл прервется, и код после выполнения функции будет выполнен или программа завершится