#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, ваш цикл прервется, и код после выполнения функции будет выполнен или программа завершится