2017-10-05 126 views
1

我想用以下格式打印Fibonacci系列:0-1-1-2-3-5-8 最多由用戶輸入的整數值,值應該由'-'單行分隔。如何在python中打印' - '分隔的項目?

這可以使用print語句來完成嗎?

  • 通過使用end='-'它給 - 在過去的'。

  • 如何通過使用sep =' - '來解決它?

我當前的代碼是:

A=0 
B=1 
for value in range(0,int(input())): 
    print(A,end='-') 
    temp1 = A 
    temp2 = B 
    A = temp2 
    B = temp1 + temp2 

電流輸出:0-1-1-2-3-5-8-

+0

做一個列表,並使用'「 - 」連接(名單)' – Barmar

回答

0

這其實很簡單:使用不同的打印命令的最後一個值:

A=0 
B=1 
for value in range(0,int(input())-1): 
    print(A,end='-') 
    temp1 = A 
    temp2 = B 
    A = temp2 
    B = temp1 + temp2 

print(A) 

另外,我建議你消除歧義他循環限制:

limit = int(input()) 
for value in range(limit-1): 
    ... 
0

如何使用sep='-'解決呢?

當您將多個值傳遞給print時,會在值之間使用分隔符。因此,如果您想在循環內一次一個地打印循環內的值,那麼這對您來說沒有用處。

然而,積累多個值,然後在循環的結束使一個打印通話無疑是更好的代碼:

vals = [] 

for ... in ...: 
    val = ... 
    vals.append(val) 

print(*vals, sep='-') 
+0

好,它和' - '一樣嗎?join()和sep =' - '是分開列表值的相似方法。 –

+0

如果你想要做的只是打印多個值,不要'str.join'。正如我所展示的那樣,將它們全部傳遞給'print'。 – wim