簡體   English   中英

如何調整代碼,使唯一的輸出是最終迭代?

[英]How can I adjust my code so that the only output is the final iteration?

當我運行代碼時:

import math as ma

C = 10
n_ran = 5
f_t = 0.17
n_val = []

# Calculation
for n in range(n_ran):
    f_t = 0.17
    e_bit = 1- ma.e**(f_t*C)
    n_add = ((f_t*C)**n)/ma.factorial(n)
    n_val.append(n_add)
    print(n_val)

我收到每個迭代加上每個先前的迭代,如下所示:

[1.0]
[1.0, 1.7000000000000002]
[1.0, 1.7000000000000002, 1.4450000000000003]
[1.0, 1.7000000000000002, 1.4450000000000003, 0.8188333333333335]
[1.0, 1.7000000000000002, 1.4450000000000003, 0.8188333333333335, 0.34800416666666684]

我如何才能更改代碼以僅獲得最終迭代作為包含所有5個值的列表?

取消縮進print()調用。

for n in range(n_ran):
    f_t = 0.17
    e_bit = 1- ma.e**(f_t*C)
    n_add = ((f_t*C)**n)/ma.factorial(n)
    n_val.append(n_add)

print(n_val)

我還建議使用其他格式:

print(*n_val, sep='\n')

結果:

1.0
1.7000000000000002
1.4450000000000003
0.8188333333333335
0.34800416666666684

您在循環進行打印,因此每次迭代n_val在打印list n_val

您可以將print語句移到循環外

for n in range(n_ran):
    f_t = 0.17
    e_bit = 1- ma.e**(f_t*C)
    n_add = ((f_t*C)**n)/ma.factorial(n)
    n_val.append(n_add)

print(n_val)

暫無
暫無

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

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