[英]How Do I Reset The A 'Score Bank' In My Program? Python
因此,當我兩天前剛開始 Python 時,我試圖在一個非常基本的游戲中添加一個帶有外部模塊的評分系統。
score_history = [0]
a=cur_score()
def var1():
scoremodule.cur_score()
def initial_score():
return score[0]
def cur_score():
return score_history[-1]
def affect_score(delta):
score_history.append(cur_score() + delta)
return cur_score()
def reset_score(var1):
sub=a-a
print(sub)
這是我到目前為止所擁有的。 我只需要一種使用reset_score
參數重置分數的方法。 我不知道如何為cur_score
分配一個字母或從其自身中減去它。 幫助將不勝感激。
你想讓 reset_score 做什么? 設置 a = 0?
def reset_score(var1()):
a=0
您可以使用 class 來定義您的方法,然后將分數歷史記錄作為 class 的屬性? 這是你追求的結果嗎?
class Scorer:
def __init__(self):
self.score_history = [0]
def initial_score(self):
return self.score_history[0]
def current_score(self):
return self.score_history[-1]
def affect_score(self, delta):
self.score_history.append(self.score_history[-1] + delta)
return self.current_score()
def reset_score(self):
self.score_history = [0]
scoreboard = Scorer()
print(f"Start: {scoreboard.current_score()}")
print(f"add 5: {scoreboard.affect_score(5)}")
print(f"initial: {scoreboard.initial_score()}")
print(f"current: {scoreboard.current_score()}")
scoreboard.reset_score()
print(f"current after reset: {scoreboard.current_score()}")
Output
Start: 0
add 5: 5
initial: 0
current: 5
current after reset: 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.