![](/img/trans.png)
[英]how can I subtract the amount Randint generates in the while loop from enemies HP without getting 2 different numbers?
[英]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.