我希望我的輸出是單行的,這就是為什么我使用end = ' ',但由于它是在一個回圈中,它也在最后一個值后添加了空格,這是我不想要的。我試著使用strip(),但它洗掉了每一個空格。所以我如何從我的回圈輸出中洗掉最后的空格?
import math
f0 = int(input()
r = math.pow (2, 1/12)
for i in range(5)。
f1 = f0 * (r * i )
print('{:.2f}'.format(f1), end= ')
預期輸出。如果440是輸入440.00 466.16 493.88 523.25 554.37
我的輸出 :440.00 466.16 493.88 523.25 554.37
我的輸出 :440.00 466.16 493.88 523.25 554.37
考慮用一個生成器運算式和str.join來代替你的for回圈,就像這樣:
print(' '. join((f'{f0*r*i:. 2f}'for i in range(5))))
輸出。440.00 466.16 493.88 523.25 554.37
這種方法可以節省時間。
這種方法使你不必在回圈的最后一個迭代器上有不同的行為,或者事后編輯字串。
str.join在迭代器的每個元素之間插入字串(' '在本例中),但不是在開頭或結尾。
uj5u.com熱心網友回復:
你可以添加一個if-else陳述句,并將其應用于回圈的最后一次迭代。
import math
f0 = int(input()
r = math.pow(2, 1/12)
for i in range(5)。
f1 = f0 * (r * i )
if i == 5:
print('{:.2f}'/span>.format(f1))
else:
print('{:.2f}'.format(f1), end= ')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/331583.html
標籤:
上一篇:如何從for回圈創建一個字典
