gpt4 book ai didi

python - 全局名称 'X' 未定义

转载 作者:太空狗 更新时间:2023-10-29 22:22:44 25 4
gpt4 key购买 nike

我查看了各种类似的问题,但找不到适合我情况的问题(或者也许有,但我是编程新手)。

我使用的 Python 版本是 2.7.4,我的程序在第 11 行出现错误:NameError: global name 'opp' is not defined

我想制作一个地板尺寸计算器。这是我的代码:

def oppervlakte():
global lengte
global br
global opp

lengte = raw_input("Voer de lengte in: ") # Put in the length
br = raw_input("Voer de breedte in: ") # Put in the width
opp = lengte * br # Calculates the dimension of the floor
return int(lengte), int(br) # Makes the variables lengte & br an integer

print opp

既然得到了答案,就想和大家分享一下,所以在此:

def oppervlakte():
lengte = raw_input("Voer de lengte in: ") # Asks for the length
br = raw_input("Voer de breedte in: ") # Asks for the width

lengte = int(lengte) # String lengte --> int lengte
br = int(br) # String br --> int br

opp = lengte * br # Calculates the dimensions of the floor

return opp, lengte, br

opp, lengte, br = oppervlakte()
print "De oppervlakte is", opp # Prints the dimension

最佳答案

你应该调用你的函数,否则 opp 将不会被定义。

oppervlakte()
print opp

但更好的方法是从函数返回 opp 并分配给全局命名空间中的变量。

def oppervlakte():
lengte = int(raw_input("Voer de lengte in: ")) #call int() here
br = int(raw_input("Voer de breedte in: ")) # call int() here
opp = lengte * br # Calculates the dimension of the floor
return opp, lengte, br

opp, lengte, br = oppervlakte()

并且仅对字符串调用 int() 不会使其成为整数,您应该将返回值分配给变量。

>>> x = '123'
>>> int(x) #returns a new value, doesn't affects `x`
123
>>> x #x is still unchanged
'123'
>>> x = int(x) #re-assign the returned value from int() to `x`
>>> x
123

关于python - 全局名称 'X' 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19889493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com