Я прошу прощения, если моя проблема кажется длинной. Я постараюсь быть максимально кратким.
Проблема: Напишите программу, которая преобразует вмененный вес в килограммах в фунты. Если пользователь вводит отрицательное значение, программа должна попросить игрока повторно ввести число.
Я создал три функции. Первая функция - возвращает входные данные игрока. Вторая функция - возвращает вес в фунтах. Третья функция - возвращает значение в фунтах, если вес положительный, или запрашивает другой ввод, если значение отрицательное.
# function that asks for player input in kg
def weight_input () :
return float (input ("Enter valid weight: "))
weight_kg = weight_input()
# formula to convert kg into pounds
def weight_conversion():
return 2.2 * weight_kg
weight_pds = weight_conversion ()
def weight_info () :
while True :
weight_kg
if weight_kg > 0 : # if weight > 0 we return the weight in pds
return weight_pds
else :
print("Invalid weight.")
continue # go back to the start of the loop and ask for input
return weight_pds
print (weight_info () )
Моя программа возвращает правильное значение, если это же значение положительное. Однако, когда я ввожу отрицательное число с плавающей точкой, моя программа печатает «Неверный вес» навсегда. Мне говорили, что когда я пишу продолжить внутри цикла, я возвращаюсь к началу того же цикла, однако я не могу остановить свою программу.