#python-3.x
#python-3.x
Вопрос:
Я пытаюсь создать список из введенных пользователями данных, пока они не скажут «да». Я сделал это так далеко, как показано ниже, но вскоре понимаю, что мне придется продолжать писать строку кода столько раз, сколько я хотел разрешить пользователю вводить. Но идея состоит в том, чтобы позволить пользователю создавать список чисел, пока ему это не надоест, чтобы я мог ссылаться на него позже в программе. Итак, по сути, я хотел бы ссылаться на строку 6, пока не будет выполнено «да».
play_num = int
play_num = input('Give me a number.')
play_num = int(play_num) int(1)
choice1 = str
AnnoyList = []
choice1 = input ("You said " str(play_num) " right? ")
if (choice1.lower is "no"):
AnnoyList.append(play_num)
play_num = input ("Oh, sorry what was it then? ")
AnnoyList.append(play_num)
if (choice1.lower is "yes")
Комментарии:
1. Почему цикл здесь не будет работать?
2. Вы пропустили нижнюю половину своего кода?
if (choice1.lower is "yes")
выдаст синтаксическую ошибку.3. Вы должны узнать о циклах, прежде чем пытаться решить эту проблему. Циклы являются квинтэссенцией компьютерного программирования. Вы не можете (и не должны) узнавать о них, задавая вопрос на SO.
4. Не буду врать, я очень новичок в Python и программировании в целом, я просто не мог придумать способ заставить это работать в моей голове. Я думал о циклах while, как упоминали некоторые пользователи ниже. Просто не думал, что я на правильном пути. Нет, он не пропал, я не писал его, потому что знал, что метод, который я написал выше, никогда не пройдет, поэтому я сначала работал над этой проблемой.
Ответ №1:
Посмотрите на while
циклы. Установите переменную равной True
и выполняйте цикл до тех пор, пока пользователь не введет no, затем установите его равным False
.
Или, если вы знаете, сколько раз вы хотите выполнить цикл, посмотрите на for
циклы.
Комментарии:
1. Спасибо за ссылку на документацию!
Ответ №2:
Используйте циклы while с инструкцией break при вводе пользователем yes
. Прочитайте о них здесь: Инструкции потока управления
Ваш код будет выглядеть следующим образом
AnnoyList = []
choice1 = "no"
play_num = input('Give me a number.')
while choice1.lower()!="yes":# notice the parenthesis
play_num = int(play_num) (1)
choice1 = input ("You said " str(play_num) " right? ")
if (choice1.lower() == "no"):
AnnoyList.append(play_num)
play_num = input ("Oh, sorry what was it then? ")
Комментарии:
1. Потрясающе, большое вам спасибо, это многое проясняет для меня, как использовать циклы while!