Python脚本中的循环

2024-09-24 22:25:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了一个简单的计算器,没有什么问题。 当我输入'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('>')

所以我决定定义'wpisane=input('>;')并进行循环

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()

然后得到'name“wpisane”未定义',所以我定义它

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

在脚本的最后只做“按任意键继续”:( 我犯了什么错误?感谢您的帮助:)


Tags: inputifintprintsiwnawynikpodaj
2条回答

在我理解这个问题时,将所有代码放在一个无限循环中:

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()

代码中没有循环。你知道吗

要反复查询用户的输入,请使用以下命令:

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)

相关问题 更多 >