在Python脚本中循环

时间:2016-03-29 10:58:29

标签: python loops

我写了一个简单的计算器并没什么问题。 当我输入'dodawanie'然后我可以输入另外两个数字,几乎一切都工作正常,但我不能再使用'dodawanie'序列只有下一个序列'odejmowanie',使用后最后一个序列我无法使用任何东西和脚本结束。

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 = input('&gt;')并以某种方式循环

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 it it

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

并且在结尾脚本中只执行'按任意键继续':( 我在哪里弄错了?任何帮助表示赞赏:)

2 个答案:

答案 0 :(得分: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()

答案 1 :(得分: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)