![](/img/trans.png)
[英]making a list from values returned by a function inside a for-loop in python
[英]Making a list of values from a loop
我正在編寫一個程序作為練習,它將為 N 設置一個最大為 400 的隨機數,並且一個名為 K 的計數器每次都會增加一。 最后,我希望它列出分配給 N 的所有值。
有誰知道如何做到這一點?
import random
separateur = "============================================================"
def Compteur_bulletins():
K = 0
N = 36
while N >= 36:
N = random.randint(1,400)
K += 1
print("Nombre de bulletins au-dessus ou egal a 36: ", K)
print("Valeure de 'N': ", N, "\n")
print(separateur, "\n")
return K, N
for x in range(10):
Compteur_bulletins()
嘗試這個:
def compteur_bulletins():
k = 0
values_of_n = []
n = random.randint(1, 400)
while n >= 36:
values_of_n.append(n)
n = random.randint(1, 400)
k += 1
return values_of_n, k
values, count = compteur_bulletins()
print('K:', count)
print(values)
print('Sum:', sum(values))
輸出:
K: 15
[193, 114, 203, 227, 328, 262, 133, 311, 211, 323, 86, 310, 226, 147, 223]
Sum: 3297
或者,如果您想要 10 個不同的n
值的總和,就像您在代碼中所做的那樣,您可以這樣做:
for _ in range(10):
values, count = compteur_bulletins()
print(sum(values))
輸出:
471
0
3243
1348
896
808
2865
867
0
2447
如果目標是排除 N 的第一個值 (36) 和 N 的最終值(低於 36 的值),那么這樣的事情將起作用:
import random
separateur = "============================================================"
def Compteur_bulletins():
K = 0
N = 36
valeures_N = []
while N >= 36:
if K >= 1:
valeures_N.append(N)
N = random.randint(1,400)
K += 1
print("Nombre de bulletins au-dessus ou egal a 36: ", K)
print("Valeure de 'N': ", N, "\n")
print("Valeures anciennes de 'N': ",valeures_N, "\n")
print("Somme:",sum(valeures_N))
print(separateur, "\n")
return K, N, valeures_N
for x in range(10):
Compteur_bulletins()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.