Первый
Ваша текущая проблема не имеет ничего общего с циклами. Ваш вопрос от вас if
раздел заявления вашего кода.
Issue
Ваша настоящая проблема заключалась в том, что всякий раз, когда выполнялась секция оператора if
, у нее не было способа перехватить неожиданный пользовательский ввод, например. если бы пользователь просто набирал мили, в настоящий момент программа просто рухнула, и это была ваша проблема.
Решение
Ради этого решения я просто упростил единицы измерения до миль или километров. Это проверит, ввел ли пользователь что-то кроме miles
или kilometres
, которые есть в списке, затем выйдет из программы, сообщив недопустимую единицу скорости.
if unit not in ["miles", "kilometres"]:
print("invalid unit of speed")
quit()
Кроме того, вместо переменных unit_speed
и unit
, упростите их и поместите в одну переменную, я просто назвал ее единицей.
unit = input("Which unit is the speed in? (miles or kilometres) : ")