有人能帮我用Python编写这个小程序吗?
我是Python新手,我的搜索是创建一个简单的计算器,但是有一些错误 我认为我在函数上犯了一个错误,但我真的不知道 我希望你能帮我做这件事 以下是错误:有人能帮我用Python编写这个小程序吗?,python,scope,undefined,Python,Scope,Undefined,我是Python新手,我的搜索是创建一个简单的计算器,但是有一些错误 我认为我在函数上犯了一个错误,但我真的不知道 我希望你能帮我做这件事 以下是错误: Traceback (most recent call last): File "C:\Users\dario\Desktop\calcolatrice in py\calcolatrice.py", line 43, in <module> if operazione == '1': NameErr
Traceback (most recent call last):
File "C:\Users\dario\Desktop\calcolatrice in py\calcolatrice.py", line 43, in <module>
if operazione == '1':
NameError: name 'operazione' is not defined
正如ForceBru在上面的评论中所说,我已经介绍了python3.9.1,这里的问题是局部变量和全局变量。网上有很多资源可以帮助您了解两者之间的区别。例如,你可以检查一下 在您的特定情况下,替换这段代码是可行的:
def inizio():
print('~ Calcolatrice ~')
print('Per eseguire un\'addizione inserisci 1')
print('Per eseguire una sottrazione inserisci 2')
print('Per eseguire una moltiplicazione inserisci 3')
print('Per eseguire una divisione inserisci 4')
print('Per eseguire un calcolo esponenziale inserisci 5')
print('Per uscire dal programma digita "ESC"')
# here, operazione is a local variable
operazione = input()
return operazione
# define a global variable that takes the value returned by the function inizio
operazione = inizio()
在外部范围而不是函数中定义
operazione
。在函数(=内部范围)中使用return
,将值分配给operazione
:
def inizio():
print('~ Calcolatrice ~')
print('Per eseguire un\'addizione inserisci 1')
print('Per eseguire una sottrazione inserisci 2')
print('Per eseguire una moltiplicazione inserisci 3')
print('Per eseguire una divisione inserisci 4')
print('Per eseguire un calcolo esponenziale inserisci 5')
print('Per uscire dal programma digita "ESC"')
return(input())
operazione = inizio()
我写了很多+,因为我无法发表问题
operazione
是函数的局部变量。根据定义,局部变量在全局范围内是不可访问的。您在函数中定义了operazione
,但尝试在函数之外使用它。天哪,非常感谢你!我现在就去试试。
def inizio():
print('~ Calcolatrice ~')
print('Per eseguire un\'addizione inserisci 1')
print('Per eseguire una sottrazione inserisci 2')
print('Per eseguire una moltiplicazione inserisci 3')
print('Per eseguire una divisione inserisci 4')
print('Per eseguire un calcolo esponenziale inserisci 5')
print('Per uscire dal programma digita "ESC"')
return(input())
operazione = inizio()