Программа Python должна выполняться несколько раз, но запускается только один раз

#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 также просит его выйти из цикла и продолжить программу