[英]Python 2.7.10: Adding 1 to global variables between functions
所以基本上我的代码是这样的:
global I_like_dem_apples
I_like_dem_apples = 0
global I_dont_like_dem_apples
I_dont_like_dem_apples = 0
def how_do_you_like_them_applez(steve_jobs):
if steve_jobs == "Empire" or steve_jobs == "Gala":
return I_like_dem_apples == I_like_dem_apples + 1
if steve_jobs == "Rome" or steve_jobs == "York":
return I_dont_like_dem_apples == I_dont_like_dem_apples + 1
else:
return I_dont_like_dem_apples == I_dont_like_dem_apples + 1
def good_day (the_good_stuff):
for apple in the_good_stuff:
how_do_you_like_them_applez(apple)
if I_dont_like_dem_apples > I_like_dem_apples or I_dont_like_dem_apples == I_like_dem_apples:
return "false"
if I_like_dem_apples > I_dont_like_dem_apples:
return "true"
good_day(["Gala", "York", "Rome"])
print I_like_dem_apples
print I_dont_like_dem_apples
当我运行它时,我没有收到任何错误消息,而是得到了:
0
0
[Finished in 0.0s]
我希望得到的是:
1
2
我已经尝试过将代码加1左右来更改代码,
def how_do_you_like_them_applez(steve_jobs):
if steve_jobs == "Empire" or steve_jobs == "Gala":
return I_like_dem_apples =+ 1
if steve_jobs == "Rome" or steve_jobs == "York":
return I_dont_like_dem_apples =+ 1
else:
return I_dont_like_dem_apples =+ 1
和这个
def how_do_you_like_them_applez(steve_jobs):
if steve_jobs == "Empire" or steve_jobs == "Gala":
return I_like_dem_apples = I_like_dem_apples + 1
if steve_jobs == "Rome" or steve_jobs == "York":
return I_dont_like_dem_apples = I_dont_like_dem_apples + 1
else:
return I_dont_like_dem_apples = I_dont_like_dem_apples + 1
但我收到无效的语法错误消息。 我很确定唯一可能出错的是全局变量,但是我不会,因为那是我认为全局变量起作用的方式。
global
东西,您会错误地使用它们。 global I_like_dem_apples,I_dont_like_dem_apples
添加到所有涉及的函数中。 return I_like_dem_apples == I_like_dem_apples + 1
和所有类似的语句替换为I_like_dem_apples += 1
。 I_like_dem_apples
是一个可怕的名字。 "false"
和"true"
,返回False
和True
。 通过“ return(I_like_dem_apples + 1)”和“ return(I_dont_like_dem_apples + 1)”替换前两个函数中的return。 通过“ True”和“ False”替换“ true”和“ false”。 您不需要全局变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.