【发布时间】:2021-07-24 03:20:50
【问题描述】:
我正在研究类似于二十一点的东西。其中只有少数只是用于测试。我从字典中随机化两个不同的键。我遇到的问题是我不知道如何根据条件添加值的总和。我知道 sum() 在这种情况下不起作用,但我想要类似的东西来从 for 循环item 中获取返回,它返回两个元素并将它们加在一起。
提前谢谢!
import random
numbers = {'9': 9, '10': 10, 'J': 10}
numbers_list = list(numbers.keys())
pick_one = random.choice(numbers_list)
pick_two = random.choice(numbers_list)
print(pick_one, pick_two)
for items in numbers:
if pick_one in numbers_list and pick_two in numbers_list:
if pick_one == items and pick_two == items:
total = sum(numbers[items])
print(total)
【问题讨论】:
-
你已经使这比它需要的更难了。只是
numbers[pick_one] + numbers[pick_two]。 -
这不是重点。我想让它更简单。如果我有 10 个随机数。然后我必须写十次 numbers[x]。我知道我可以做到这一点,这就是为什么我需要一些帮助,看看我是否可以用一条简单的线让它工作。
-
那么你就不会创建
pick_one和pick_two。您将创建一个picks列表,这样可以很容易地将它们的值相加。 -
每当你发现自己给变量命名时,你真正想要的是一个列表。
-
if pick_one in numbers_list and pick_two in numbers_list:的意义何在?您实际上只是从列表中选择了数字...
标签: python dictionary for-loop random