【发布时间】:2018-05-25 17:58:31
【问题描述】:
我有一个从 0.5、1-2...7 的特定值的卡片列表。
每次循环从列表中随机选择一张卡片时,我都需要选择并尽可能多次地求和,但总和不能超过sum < 7.5并且每次我必须从列表中弹出卡片时。
我试过这样:
(switcher是一个函数,它找到一张卡片的值并将其和sum相加)
while sum < 7.5:
card_picked = cards[random.randrange(len(cards))]
sum = switcher(card, sum)
card_index = cards.index(card)
cards.pop(card_index)
但这每次都会给我一个大于 7.5 的值。 有什么想法吗?
【问题讨论】:
-
switcher返回sum? -
那是因为你的循环只会在你已经超过总和之后停止,你需要测试如果你真的选择了新卡,总和会是多少,然后停止在你把它加到总和之前。
标签: python-3.x list loops