如何将 Python 列表中的所有数字相加?

How do I add all the numbers in a list in Python?

如何将列表中的所有号码相加?例如,下面的代码。

import random

cards = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10]
user_cards = random.sample(cards, 2)
user_score = user_cards[0 + 1]
print(f"Your cards: {user_cards}, your score: {user_score}")

用户从列表“卡片”中随机挑选了两张卡片,但是行

user_score = user_cards[0 + 1]

不是将数字相加;它只是打印第二个数字。我究竟做错了什么?我是一个迷茫的初学者。

user_cards[0 + 1]这会永远五个你user_cards[1]

您可以:user_score = user_cards[0] + user_cards[1] 或使用 sum

import random

cards = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10]
user_cards = random.sample(cards, 2)
user_score = sum(user_cards) # or user_score = user_cards[0] + user_cards[1]
print(f"Your cards: {user_cards}, your score: {user_score}")
 user_score = user_cards[0 + 1] 

此代码仅调用第二个元素,因为 1+0 = 1 且 user_cards[0 + 1] = user_cards[ 1]

你应该像下面这样写

 import random

cards = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10]
user_cards = random.sample(cards, 2)
user_score = user_cards[0] + user_cards[1]
print(f"Your cards: {user_cards}, your score: {user_score}")
import random

cards = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10]
draw = random.sample(cards, 2)
score = sum(draw)
print("Your cards: {}\nYour score: {}".format(draw, score))

或者,您可以对第五行使用 score = draw[0] + draw [1]。使用f"..."表示格式化字符串没有错,但我更喜欢"...".format().