如何解决Cardgame,循环返回无
我似乎无法正常工作。我有一个简单的更高或更低纸牌游戏的循环,我想做的是返回卡片或卡片的任何值,以及积分,以便我可以将它们腌制以进行存储并玩这个游戏一遍又一遍。 但是,我只能在循环的第一次迭代中返回卡片和点。每当在该函数中再次调用 gameloop 函数时,最后一行的 print 函数都会打印 None。
def gameloop(rand_card,rand_type,point):
point = point
card = rand_card,rand_type
print("The card is:")
print_card(card[0],card[1])
print("Do you bet on a higher or lower value to be drawn? (H/L)")
ans = input().lower()
if ans == "q":
return card,point
new_card = random_card(),random_type()
print("The new card is:")
print_card(new_card[0],new_card[1])
if ans == "h":
if new_card[0] > card[0]:
print("Congratulations,the new card was higher. You have been awarded one point.")
point += 1
elif new_card[0] < card[0]:
print("Sorry,the new card was lower. One point has been deducted.")
point -= 1
else:
print("It's a tie! No points deducted.")
elif ans == "l":
if new_card[0] < card[0]:
print("Congratulations,the new card was lower. You have been awarded one point.")
point += 1
elif new_card[0] > card[0]:
print("Sorry,the new card was higher. One point has been deducted.")
point -= 1
else:
print("It's a tie! No points deducted.")
print("You have a total of {} points.".format(point))
gameloop(new_card[0],new_card[1],point)
data = gameloop(random_card(),random_type(),0)
print(data)
解决方法
return gameloop(new_card[0],new_card[1],point)
而不是
gameloop(new_card[0],point)
,解决了问题,谢谢 quamrana。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。