python - 不知道如何在 python 中更新分数
问题描述
所以我正在上编程课的介绍,我需要帮助更新我的“基于文本的冒险游戏”中的分数。发生的情况是您按下回车键,然后出现一个文本(例如,您走到飞机上寻找一只猴子),然后它显示“您的分数是 5”。我想要它,所以每次按 Enter 键时,都会出现文本,然后我的分数会增加 5 分。我花了几个小时阅读我的教科书,但我不知道该怎么办。除了 showScore 功能外,一切都很好,因为它在每一步之后都会将我的分数打印为 5。
这是代码示例:
def promptUser():
input("\n<Press Enter to continue...>\n")
def base():
print("You approach the base with friends")
def showScore():
x = 0
score = x + 5
print("Your score is now" ,score,)
解决方案
我不是 python 程序员,但我在为初学者问题做一些同行评审时遇到了你的帖子,我想我可以提供帮助。全局变量将解决您的问题,基于此Python 全局变量解释,以下内容应该适合您。
score = 0
def promptUser():
input("\n<Press Enter to continue...>\n")
def shelter():
print("You approach the base with friends")
def showScore():
score = score + 5
print("Your score is now" ,score)
目前,您正在 showScore() 函数中定义变量“x”,这意味着每次调用该函数时,您都会在添加 5 之前将 x 重置为零。在我的解决方案中,我将 score 定义为全局变量,以便每次您调用它接受的 showScore() 函数只需将 5 添加到分数,然后在显示分数之前将其作为新分数保存在内存中。
这可能适用于您当前的问题,但在现实世界中,最好有一个专门用于更改分数的函数,该函数与显示分数的函数分开。
希望这可以帮助。
推荐阅读
- java - 如何从用户选择的文件夹中正确设置图像的 Uri 以显示在 ImageView 中?
- angular - 在浏览器中预览 Excel 文件 - Blob 数据
- spring - 使用过滤器和包装器时出现弹簧错误
- android - 上传与目标 API 级别相关的发布版本时播放商店抛出错误
- javascript - 如果未在 Array 中找到字符串,则 Array.Find 失败
- json - 模型的 JSON 组织
- tensorflow - ValueError:('无法解释初始化标识符:',0.2)
- android - Android9.0 InputMethod超出屏幕范围
- c# - System.IO.FileLoadException:无法加载文件或程序集'Pkcs11Interop,版本 = 3.3.0.0
- python - 不能将 TimeDistributed 与 LSTM 一起使用