#python #loops #if-statement #debugging #while-loop
Вопрос:
моя задача-написать программу, которая неоднократно запрашивает у пользователя целые числа, пока пользователь не введет «готово». Как только будет введено «готово», распечатайте наибольшее и наименьшее из чисел. Если пользователь вводит что-либо, кроме действительного номера, поймайте его с помощью try/except, отправьте соответствующее сообщение и проигнорируйте номер. Когда я запускаю свою программу, она не запрашивает номер повторно, она просто делает это один раз, не отвечая.
try: float(num) except: "invalid input" if num gt; largest: largest = num if smallest == 0: smallest= num if smallest gt; num: smallest = num print(num)
Ответ №1:
Чтобы делать что — то повторно, вам нужно использовать цикл-это может быть цикл for или цикл while.
В этом случае лучше всего использовать цикл while, так как вы хотите выполнить задачу до тех пор, пока не прикажете ей остановиться.
while True: try: float(num) except: continue if num gt; largest: largest = num if smallest == 0: smallest= num if smallest gt; num: smallest = num print(num) break
Обратите continue
break
внимание на ключевые слова и. continue
говорит интерпретатору пропустить оставшуюся часть содержимого в этом цикле и начать снова, а break
также просит его выйти из цикла и продолжить программу