Как попросить пользователя ввести c, чтобы продолжить и выполнить снова, или e, чтобы остановить выполнение и выйти. ? пожалуйста, мне нужны ваши заметки для моего кода? - PullRequest
0 голосов
/ 23 января 2020

Я пытаюсь запустить программу, которая просит пользователя ввести символ c сверху или снизу, чтобы повторить мою программу или символ е для выхода из программы. Но когда я вхожу в другой символ, l oop все еще продолжается. Кроме того, я знаю метод для нижнего и верхнего, но все же я не знаю, где его использовать в моем коде. Например, если пользователь вводит прописные e или E & c или C, «ВАЖНО», мне нужны ваши заметки для моего кода, пожалуйста, так как я свободно sh в программировании. Заранее спасибо.

while char != "e" :
     h= int (raw_input("plase enter your hieght: "))
     w = int ( raw_input("please enter your wieght: "))
     BMI = w/h*h
     print ("your body mass is : ",BMI) 
     char = raw_input("plase enter c to contiune or e to exit: ")
if char == "e" and char != "c":
    char = ""
    print ("Thank you, bye!")

Ответы [ 2 ]

0 голосов
/ 23 января 2020

Так что там, где 1 основная проблема с вашим кодом. Во-первых, вы спросили, является ли char равным или не равно «e» для вашего while l oop, на который нельзя ответить, так как вы никогда не сообщали компьютеру, является ли он или нет. Я исправил это, определив char как пустое или 'None'.

Обратите внимание, что если вы используете python 3.x, а не python 2.x, форматом является input () вместо raw_input ( ). Я использую 3.x, поэтому я написал его как input ().

Был протестирован следующий код:

char = None

while char != "e" :
     h= int (input("plase enter your hieght: "))
     w = int (input("please enter your wieght: "))
     BMI = w/h*h
     print ("your body mass is : ",BMI)
     char = input("plase enter c to contiune or e to exit: ")
if char == "e" and char != "c":
    char = None
    print("Thank you, bye!")
0 голосов
/ 23 января 2020

Я читаю, что вы хотите выйти из l oop, когда пользователь вводит "e" в качестве ввода, и продолжить, когда пользователь вводит "c" в качестве ввода, но как насчет всех других случаев? Что если я введу «b» в качестве ввода? Вы должны рассмотреть все случаи для ввода. Вот версия, которая завершается при вводе «е», продолжается при вводе «c» и запрашивает другой ввод при вводе любого другого ввода.

# Start with char == "c" to get into the loop
char = "c"
while char == "c" :
    h= int (raw_input("please enter your height: "))
    w = int ( raw_input("please enter your weight: "))
    BMI = w/h*h
    print "your body mass is : ", BMI
    # Takes in any raw input
    char = raw_input("please enter c to continue or e to exit: ")
    # If char == "c", it skips this inner while loop and goes straight into another iteration 
    while char != "c":
      # If
      char = raw_input("Not a valid input. Please enter c to continue or e to exit: ")
      if char == "e":
        break

print ("Thank you, bye!")
...