私はあらゆる種類の同様の質問を調べましたが、自分の状況に合った質問を見つけることができませんでした(または、あるかもしれませんが、プログラミングは初めてです)。
私が使用している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
_