所以我得到了一段让我头疼的代码。
def Handy():
print "\nMöchten Sie ein neues Handy?"
print "\n1 - Ja\n2 - Nein"
handy = raw_input(">>> ")
if handy == "2":
print "\nSie möchten kein neues Handy"
elif handy == "1":
wunschhandy = raw_input("\nBitte geben Sie den Namen des Handys ein: ")
else:
Handy()
return handy, wunschhandy
如果我选择选项"1"
一切都好。但是,如果我去做"2"
它会给我这个错误:"UnboundLocalError: local variable 'wunschhandy' referenced before assignment"
我知道为什么会这样,或者至少我认为我知道为什么。这是因为 varwunschhandy
没有被清除,因为我使用了 option "2"
。
那么我该如何解决这个问题呢?有没有办法只返回一个值,如果它是由正确的选择分配的?