gpt4 book ai didi

python - 实验室作业遇到问题(使用列表和整数)

转载 作者:太空宇宙 更新时间:2023-11-03 17:16:19 26 4
gpt4 key购买 nike

本周我们的实验室作业是制作一个在 Python 3 中运行的简单版本的二十一点。我已经完成了大部分作业,但我在需要确定每张牌的分数的部分遇到了麻烦。这是我所停留的部分的代码模型。

def score(playerhand, comhand):
playerscore = 0
comscore = 0
for i in playerhand:
if playerhand == str('A'):
playerscore += int(11)
elif playerhand == str('J'):
playerscore += int(10)
elif playerhand == str('Q'):
playerscore += int(10)
elif playerhand == str('K'):
playerscore += int(10)
else:
playerscore += int(playerhand) #This is where it breaks

玩家手牌是一个列表,其中包含 2 或 3 个 1-10 之间的随机字符串,或 A、J、Q 或 K(这些是 A 和花牌)。就目前情况而言,我想不出一种简单的方法可以将 playerhand 的值转换为整数,而无需使用一堆 elif 语句将每个字符串转换为其对应的整数。我不能使用playerhand[x],因为for循环无论如何都会遍历playerhand中的每个值。我已经从事这个工作有一段时间了,如果有人可以提供一些帮助,我将非常感激。

最佳答案

首先,您在循环内滥用了 playerhand 。给定循环表达式 for i in playerhandi 表示列表中的单个元素。因此,在循环内,您应该使用 i 而不是 playerhand 来引用当前元素。 playerhand 仍然引用整个列表。

通过这一更改,您调用 int() 的解决方案可能会正常工作。更好的整体解决方案是使用评论中已经建议的字典,但考虑到这是一项实验室作业,您可能只需要使用某些数据结构。

另一个解决方案是拥有一个包含所有可能字符串的列表,以及包含相应分数的相同长度的第二个列表。在第一个列表中找到给定的字符串,然后在第二个列表中找到相同位置的元素,这就是分数。

关于python - 实验室作业遇到问题(使用列表和整数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33643930/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com