Как мне прекратить программу на Python?

1

Это мое описание проекта:

Напишите программу, которая отображает следующее меню:

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)

Как я могу завершить эту программу? Где еще я испортился?

  • 1
    попробуй sys.exit()
  • 0
    Домашнее задание? Если это так, вы должны пометить его как таковой.
Показать ещё 1 комментарий
Теги:

2 ответа

1
  • Избавьтесь от второй x = raw_input(... line. Вам это не нужно.
  • Вычислите y прямо перед тем, как print его, внутри блока if. Нет смысла делать математику, которую пользователь не хотел.
  • То же самое для z: рассчитать его прямо перед тем, как он вам понадобится.
  • Поместите это после a = raw_input(... line:

Код:

if a == 0:
    import sys
    sys.exit(0)
  • 1
    Просто дополнение: никто не упомянул петлю до сих пор. Конечно, все это должно быть в течение некоторого while True: loop. И затем вы также можете использовать break чтобы выйти из цикла и завершить работу.
0

Тебе нужно:

  1. конвертировать 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: "))
    
  2. Выполняйте вычисления внутри блоков if.

  3. Кроме того, избавиться от второго x = raw_input("Enter degree: ")

  4. И как сказано выше, вы можете использовать sys.exit(0)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню