2017-03-24 18 views
1

目前,我有這樣的代碼:Python中,啓動結束後一個新的行= 「」

for i in range(lower_limit, upper_limit+1): 

    for j in range(0,len(prime_number)): 
     for k in range(0 + j,len(prime_number)): 
      if i == prime_number[j] + prime_number[k] and i % 2 == 0: 

       print(i, "=", prime_number[j], "+", prime_number[k]) 

它打印:

 
10 = 3 + 7 
10 = 5 + 5 
12 = 5 + 7 
14 = 3 + 11 
14 = 7 + 7 

我需要的結果是這樣的:

 
10 = 3 + 7 = 5 + 5 
12 = 5 + 7 
14 = 3 + 11 = 7 + 7 

我知道我不得不使用end =「」,但是它只在一行中打印所有的數字。我該怎麼辦?

+1

的可能的複製[?我怎樣才能抑制print語句之後的換行符(http://stackoverflow.com/問題/ 12102749/how-can-i-suppress-the-newline-after-a-print-statement) –

+0

你不**有**使用結束。我會建議按照[[prime1,[tuple1,tuple2,...]),(prime2,[tuple1]),...]的方式構建一個'list',然後用它來構建整個字符串一個去。 – TemporalWolf

回答

3

使用end= " ",並在外循環結束時使用空的print()來結束該行。

例如:

>>> for i in range(3): 
...  print("foo", end = " ") 
...  print("bar", end = " ") 
...  print() 
... 
foo bar 
foo bar 
foo bar 

專門針對你的情況:

for i in range(lower_limit, upper_limit+1): 
    print(i, end = " ") 
    for j in range(0,len(prime_number)): 
     for k in range(0 + j,len(prime_number)): 
      if i == prime_number[j] + prime_number[k] and i % 2 == 0: 

       print("=", prime_number[j], "+", prime_number[k],end = " ") 
    print() 
+0

非常感謝,解決了我的問題! –

相關問題