【发布时间】:2021-06-04 21:24:59
【问题描述】:
为了学习如何在 Python 中使用类,我目前正在编写一个纸牌游戏。我想测试“wert_addieren”方法(这个方法应该是把一张牌的值加到玩家分数上),所以我写了一个简单的测试程序。但问题来了:方法“wert_addieren”唯一一次返回预期结果,即
spieler_punkte = 2
当我改变时
回归朋克
到
打印(甲板,朋克)
我希望有人能够帮助我:)
完整代码:
class Kartenstapel(object):
def __init__(self):
#Karten Abkürzungen: Kreuz = KR, Pik = PI, Herz = HE, Karo = KA
self.karten = ["2KR", "2PI", "2HE", "2KA", "3KR", "3PI", "3HE", "3KA", "4KR", "4PI", "4HE", "4KA",
"5KR", "5PI", "5HE", "5KA", "6KR", "6PI", "6HE", "6KA", "7KR", "7PI", "7HE", "7KA",
"8KR", "8PI", "8HE", "8KA", "9KR", "9PI", "9HE", "9KA", "10KR", "10PI", "10HE", "10KA",
"bubeKR", "bubePI", "bubeHE", "bubeKA", "koeniginKR", "koeniginPI", "koeniginHE", "koeniginKA",
"koenigKR", "koenigPI", "koenigHE", "koenigKA", "assKR", "assPI", "assHE", "assKA"]
def wert_addieren(self, deck, punkte):
hilf = deck[-1]
if "2" in hilf:
punkte += 2
return punkte
def karte_ziehen(self, deck):
deck.append(self.karten[0])
self.karten.pop(0)
return self.karten, deck
k = Kartenstapel()
spieler = []
spieler_punkte = 0
k.karte_ziehen(spieler)
k.wert_addieren(spieler, spieler_punkte)
print(spieler, "\n", spieler_punkte)
【问题讨论】:
-
你实际上并没有使用返回值,所以它当然什么都不做
-
欢迎堆栈溢出!目前尚不清楚您的期望是什么。如果要显示一个值,请使用
print()。如果您想捕获一个值并稍后使用它,您可以从函数中return并分配它,例如self.x=k.wert_addieren(spieler, spieler_punkte)或x=k.wert_addieren(spieler, spieler_punkte); print(x)