因此,我正在入门编程课程,我需要帮助更新“基于文本的冒险游戏”中的得分。发生的情况是,按Enter键,然后出现一个文本(例如,您走到飞机上找到一只猴子),然后说“您的分数是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,)
答案 0 :(得分:0)
尝试使用:
def showScore():
score = 0
score = score + 5
print('Your score is now',score)
答案 1 :(得分:0)
我不是python程序员,但遇到一些初学者问题的同行评审时遇到了您,我认为我可以帮上忙。全局变量将解决您的问题,基于此Python Global Variabl explaination,以下内容应为您工作。
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',这意味着每次调用该函数时,都将x重置为零,然后再添加5。在我的解决方案中,我将score定义为Global变量,因此每次调用showScore()函数时,它都会接受5的分数,然后在显示分数之前将其作为新分数保存在内存中。
这可能会解决您当前的问题,但在现实世界中,最好有一个专门用于更改分数的功能,该功能应与显示分数的功能分开。
希望这会有所帮助。
答案 2 :(得分:0)
您是否尝试过在函数之前放置 score = 0,然后在 score = score +5 之前放置 global score?