Это мое описание проекта:
Напишите программу, которая отображает следующее меню:
1) Преобразование Фаренгейта в цель
2) Преобразование Цельсия в ФаренгейтВведите 1, 2 или 0 для выхода:
В случае вариантов 1 и 2 программа должна затем запрашивать у пользователя температуру, выполнять преобразование и выводить результат. Затем программа должна повторно отобразить меню. Когда выбрана опция 0, программа должна выйти.
Вот что я имею до сих пор:
a = raw_input("1) Convert Fahrenheit to Celsius \n2) Convert Celsius to Fahrenheit \nEnter 1, 2, or 0 to exit: ")
x = raw_input("Enter degree: ")
y = float((x - 32) / 1.8)
x = raw_input("Enter degree: ")
z = float((x + 32) * 1.8)
if a == 1:
print(y)
if a == 2:
print(z)
Как я могу завершить эту программу? Где еще я испортился?
x = raw_input(...
line. Вам это не нужно.y
прямо перед тем, как print
его, внутри блока if
. Нет смысла делать математику, которую пользователь не хотел.z
: рассчитать его прямо перед тем, как он вам понадобится.a = raw_input(...
line:Код:
if a == 0:
import sys
sys.exit(0)
while True:
loop. И затем вы также можете использовать break
чтобы выйти из цикла и завершить работу.
Тебе нужно:
конвертировать a и x в int.
a = int(raw_input("1) Convert Fahrenheit to Celsius \n2) Convert Celsius to Fahrenheit \nEnter 1, 2, or 0 to exit: "))
x = int(raw_input("Enter degree: "))
Выполняйте вычисления внутри блоков if.
Кроме того, избавиться от второго x = raw_input("Enter degree: ")
sys.exit(0)
sys.exit()