Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有人能帮我用Python编写这个小程序吗?_Python_Scope_Undefined - Fatal编程技术网

有人能帮我用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

我是Python新手,我的搜索是创建一个简单的计算器,但是有一些错误

我认为我在函数上犯了一个错误,但我真的不知道

我希望你能帮我做这件事

以下是错误:

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