2016-03-29 6 views
1

Я извинился за простой калькулятор и мало проблем. Когда я ввожу «dodawanie», тогда я могу ввести еще два числа, и почти все работает нормально, но потом я не могу использовать последовательность «додавани» снова только следующую последовательность, которая является «odejmowanie», после использования последней последовательности я не смог ничего использовать и заканчивается сценарий.Loop в скрипте Python

wpisane = input('>') #<<< 

#dodawanie 
if wpisane == dodawanie:  
    pierwsza = input('Podaj pierwsza liczbe: ') 
    druga = input('Podaj druga liczbe: ') 
    wynik_dodawania = (int(pierwsza) + int(druga)); 
    plus = '+' 
    równa_się = '=' 
    print() 
    print(int(pierwsza), plus, int(druga), równa_się, wynik_dodawania); 
    print() 
    wpisane=input('>') 


#odejmowanie 
if wpisane == odejmowanie: 
    pierwsza = input('Podaj pierwsza liczbe: ') 
    druga = input('Podaj druga liczbe: ') 
    wynik_odejmowania = (int(pierwsza) - int(druga)); 
    minus = '-' 
    równa_się = '=' 
    print() 
    print(int(pierwsza), minus, int(druga), równa_się, wynik_odejmowania); 
    print() 
    wpisane = input('>') 

Так я решил DEF в 'wpisane = вход ('> ') и сделать как-то петлю

def komenda(): 
    wpisane = input('>') 

komenda() 

#dodawanie 
if wpisane == dodawanie:  
    pierwsza = input('Podaj pierwsza liczbe: ') 
    druga = input('Podaj druga liczbe: ') 
    wynik_dodawania = (int(pierwsza) + int(druga)); 
    plus = '+' 
    równa_się = '=' 
    print() 
    print(int(pierwsza), plus, int(druga), równa_się, wynik_dodawania); 
    print() 
    komenda() 


#odejmowanie 
if wpisane == odejmowanie: 
    pierwsza = input('Podaj pierwsza liczbe: ') 
    druga = input('Podaj druga liczbe: ') 
    wynik_odejmowania = (int(pierwsza) - int(druga)); 
    minus = '-' 
    równa_się = '=' 
    print() 
    print(int(pierwsza), minus, int(druga), równa_się, wynik_odejmowania); 
    print() 
    komenda() 

, а затем получить 'имя "wpisane" не определен', поэтому я DEF его

def komenda(): 
    wpisane = input('>') 
    def wpisane(): 
     komenda() 

и в конце сценария делать только «Нажмите любую клавишу для продолжения» :( Где я делаю ошибку? Любая помощь приветствуется :)

ответ

0

Как я понять вопрос, положить весь код в бесконечном цикле:

while True: 
    wpisane = input('>') 

    #dodawanie 
    if wpisane == dodawanie:  
     pierwsza = input('Podaj pierwsza liczbe: ') 
     druga = input('Podaj druga liczbe: ') 
     wynik_dodawania = (int(pierwsza) + int(druga)); 
     plus = '+' 
     równa_się = '=' 
     print() 
     print(int(pierwsza), plus, int(druga), równa_się, wynik_dodawania); 
     print() 


    #odejmowanie 
    if wpisane == odejmowanie: 
     pierwsza = input('Podaj pierwsza liczbe: ') 
     druga = input('Podaj druga liczbe: ') 
     wynik_odejmowania = (int(pierwsza) - int(druga)); 
     minus = '-' 
     równa_się = '=' 
     print() 
     print(int(pierwsza), minus, int(druga), równa_się, wynik_odejmowania); 
     print() 
+0

Спасибо вам большое, что помогли! – Baholo

0

Там нет петли в коде.

Для того, чтобы запросить у пользователя ввод снова и снова, использовать что-то вроде этого:

def do_the_calculations(user_input): 
    if user_input == 'option_one': 
     pierwsza = input('Podaj pierwsza liczbe: ') 
     [...] 

    elif user_input == 'option_two': 
     pierwsza = input('Podaj pierwsza liczbe: ') 
     [...] 

while True: 
    i = input('>') 
    if i in ['q', 'quit', 'exit']: 
     break 
    do_the_calculations(i) 
Смежные вопросы