我研究python并尝试在上面写一个计算器。有这个代码:
def calculate():
operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')
number_1 = int(input('Please enter the first number: '))
number_2 = int(input('Please enter the second number: '))
if operation == '+':
print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)
elif operation == '-':
print('{} - {} = '.format(number_1, number_2))
print(number_1 - number_2)
elif operation == '*':
print('{} * {} = '.format(number_1, number_2))
print(number_1 * number_2)
elif operation == '/':
print('{} / {} = '.format(number_1, number_2))
print(number_1 / number_2)
else:
print('You have not typed a valid operator, please run the program again.')
# Добавление функции again() в calculate()
again()
def again():
calc_again = input('''
Do you want to calculate again?
Please type Y for YES or N for NO.
''')
if calc_again.upper() == 'Y':
calculate()
elif calc_again.upper() == 'N':
print('See you later.')
else:
again()
calculate()
结果是部分执行和错误:
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
-
Please enter the first number: 12
Please enter the second number: 12
12 - 12 =
0
Traceback (most recent call last):
File "D:\Among Us\dg.py", line 79, in <module>
calculate()
File "D:\Among Us\dg.py", line 67, in calculate
again()
UnboundLocalError: local variable 'again' referenced before assignment
>>>
请告诉我如何解决这个问题
您没有对评论中的人回答任何问题,这是解决问题的完整代码