我如何用4个多余的if语句缩短这个循环?在
此代码用于计算纸牌游戏中玩家手中每一套牌的数量:
suitcounter = [0, 0, 0, 0]
if len(hand) > 0:
for card in hand:
if card[1] == "C":
suitcounter[0] += 1
if card[1] == "D":
suitcounter[1] += 1
if card[1] == "S":
suitcounter[2] += 1
if card[1] == "H":
suitcounter[3] += 1
return suitcounter
手由两个心和一个黑桃组成:
^{pr2}$3H
=3颗红桃,4H
=4颗红桃,AS
=黑桃的Ace。在
我觉得我做的事情中有太多的“垃圾邮件”。WTB提示。在
使用集合模块:
用同样的方法,你可以按价值计算牌数:
^{pr2}$示例使用和输出:
你可以使用字典:
只需做
suitcounter
一段口述:另外,检查长度是多余的,就好像它是<;1一样,不会有循环。在
如果要对输出进行排序,请使用OrderedDict:
^{pr2}$因此,将其放入函数中并按示例返回很简单,只需访问dict值:
如果您使用.items,您将得到一个suit/count对作为tuples的输出:
相关问题 更多 >
编程相关推荐