[英]Global name 'X' not defined
我查看了各種類似的問題,但是找不到符合我情況的問題(或者可能有一個,但我是編程的新手)。
我使用的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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.