Python中定义函数时,正常情况下,一个变量不能即在函数中使用,又在函数外使用。如果要实现这样的功能,就需要在函数内部将其声明其为global 变量。添加了global关键字后,则可以在函数内部对函数外的对象进行操作了。
下面举一个闯关游戏数据记录逻辑的例子。
这个游戏,刚开始有1条生命,前几关送生命,第一关送4条,第二关3条,第三关2条,第四关1条,后续不送。根据各关卡表现,每关最优可奖励5条生命,最差减少5条生命。
通过第一关加1分,第二关加2分,以此类推。
当生命变成0时结束游戏。进入和结束每一关的时候,显示第几关、生命数和分数。
这里面,需要把生命数和分数作为全局变量,因为这两个数既要要游戏函数中变更,又要在游戏函数外打印。下面是代码:
import random
level=0
score=0
life = 1
def guanqia(n):
global score,life#声明global 变量
if n<5:
life = life +5 -n +random.randint(-5,5)
else:
life = life +random.randint(-5,5)
score = score +n
print('游戏开始!')
while 1:
level +=1
print(f'进入第{level}关,生命{life},总分数{score}')
guanqia(level)
if life>0:
print(f'恭喜通过第{level}关,生命{life},总分数{score}')
else:
print('Game Over')
break
print(f'您一共通过了{level-1}关')
试着运行了一下,返回:

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/74951
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!