2016-11-30 3 views
0

У меня проблемы с моей программой python. Это действительно простая программа, в которую вы можете вводить команды типа «статистика», и она возвращает «Погода:», «День», «Температура» или вы можете ввести команду «день», чтобы установить день, «погоду», чтобы установить погоду, поэтому вы можете увидеть «статистику». В конце каждой команды снова появляется «ввод команды». Когда вы вводите первую команду, команда появляется успешно и снова появляется «ввод команды» (например, что я хочу), но когда вы вводите другую команду снова, она просто печатает то, что вы только что написали, команда не выполняется, а компилятор python закрывается.Ошибка в программе Python

temp = ""; 
wea = ""; 
day = ""; 
input1 = input("What do you want: "); 
if input1 == "stats": 
    print ("Day: " + day) 
    print ("Temperature: " + temp); 
    print ("Weather: " + wea); 
    input1 = input("What do you want: "); 
elif input1 == "day": 
    input2 = input("Set a day: "); 
    day=input2; 
    input1 = input("What do you want: "); 
elif input1 == "weather": 
    input3 = input("Set the weather: "); 
    wea=input3; 
    input1 = input("What do you want: "); 
elif input1 == "temperature": 
    input4 = input("Set the temperature: "); 
    temp=input4; 
    input1 = input("What do you want: "); 
elif input1 == "commands": 
    print ("Commands: "); 
    print ("day"); 
    print ("weather"); 
    print ("temperature"); 
    input1 = input("What do you want: "); 
else: 
    print ("Unknow Command! Try the commmand \"commands\"."); 
    input1 = input("What do you want: "); 
+0

Там нет контроля структуры, которая бы повторно запустить начальные строки коды. Посмотрите на циклы, которые как цикл while. –

+1

Похоже, вам нужно поставить код в цикле, чтобы он повторялся. Например. while (input1! = "exit"): ... –

ответ

1

Ваши ошибки:

1) в Python вам не нужно использовать ;, чтобы закончить заявление.

2) использовать время цикла для продолжения цикла

3) while цикл будет уходить, если наберется «quit» (вы можете заменить «бросить» с чем-нибудь еще вы желаете).

4) Также была опечатка.

5) Вам не нужно писать input() столько раз, если он зацикливается во время цикла.

Надеется, что это помогает:

temp = "" 
wea = "" 
day = "" 
while True: 
    input1 = input("What do you want: ","\n","Press (q) to quit.") 
    if input1 == "stats": 
     print("Day: " + day) 
     print("Temperature: " + temp) 
     print("Weather: " + wea) 
    elif input1 == "day": 
     input2 = input("Set a day: ") 
     day = input2 
    elif input1 == "weather": 
     input3 = input("Set the weather: ") 
     wea = input3 
    elif input1 == "temperature": 
     input4 = input("Set the temperature: ") 
     temp = input4 
    elif input1 == "commands": 
     print("Commands: ") 
     print("day") 
     print("weather") 
     print("temperature") 
     print("quit') 
    elif input1 == "quit": 
     exit() 
    else: 
     print("Unknown Command! Try the commmand \"commands\".") 
0

Вам, кажется, не хватает петли. Попробуйте что-то в соответствии с:

temp = ""; 
wea = ""; 
day = ""; 
input1 = input("What do you want: "); 
while not input1 == "exit": 
    if input1 == "stats": 
    ... 
    ... 

Это должно дать вам то, что вы ищете. См. here для получения дополнительной информации о циклах.

Смежные вопросы