簡體   English   中英

從 randint 循環中獲取總和

[英]Getting Sum from a randint loop

我想得到循環產生的隨機數的總和 這是我的循環

for i in range(1, rolls + 1):
    random1 = str([random.randint(1, 6)])
    print(f'Roll {i}:' + random1)
The output looks like this 
Roll 1:[2]
Roll 2:[5]
Roll 3:[1]
Roll 4:[1]
Roll 5:[2]
Roll 6:[4]
Roll 7:[2]
Roll 8:[5]
Roll 9:[1]
Roll 10:[6]

我如何從 [括號] 中獲得總和?

使用變量來跟蹤總和:

total = 0
for i in range(1, rolls + 1):
    n = random.randint(1, 6)
    total += n
    print(f'Roll {i}: [{n}]')

print(f"Total: {total}")

使用sum

nums = [random.randint(1, 6) for i in range(1, rolls + 1)]

for i, n in enumerate(nums):
     print(f'Roll {i}: [{n}]')

print(f"Total: {sum(nums)}")

或者,這里有一個在 3.8+ 中使用:=運算符的更短的方法:

total = 0

for i in range(1, rolls + 1):
    total += (n := random.randint(1, 6))
    print(f'Roll {i}: [{n}]')

print(f"Total: {total}")
sum = 0
for i in range(1, rolls + 1):
    rand = random.randint(1, 6)
    sum += rand
    random1 = str(rand)
    print(f'Roll {i}:' + random1)
print(sum)

您可以定義一個將所有隨機數相加的變量

sum_number = 0
for i in range(1, rolls + 1):
    random_number = random.randint(1, 6)
    random1 = str([random_number])
    print(f'Roll {i}:' + random1)
    sum_number += random_number
print(sum_number)

或者你可以重寫它

random_number_list = [random.randint(1, 6) for _ in range(rolls)]
sum_number = sum(random_number_list)
# print random number
for i,random_number in enumerate(random_number_list):
    print(f'Roll {i+1}:' + random1)
print(sum_number)

如果不需要看打印,只需要前兩行代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM