2014-01-07 145 views
-2

我在使用\ n新行功能時遇到問題。我想多次打印相同的字符串。所以我們可以說我想打印出一個請求字符串3次,每次都在一個新行中。可以說,我去在 n末尾刪除空行 n

def program(): 
    x = requestString("  ") 
    print \n.join([x] * 3) 

當我嘗試運行此它不會給我什麼是在請求字符串的請求字符串,而是僅僅是X印製了3次類似

x 
x 
x 
  

。隨着最後那條空行,我似乎無法擺脫,因爲我不知道如何結束\ n。我相信你使用\ r或者.rstrip,但我對它不熟悉,也對它的位置感到困惑。

我在這裏做錯了什麼?

+0

此外,我希望它打印的時間量是一個變量。 – Trent

回答

0

Python沒有字符串插值,所以"x\n"是字面上的信x和一個換行符。如果你想加入3份一併使用str.join

'\n'.join(x for i in range(3)) 

或者只是:

'\n'.join((x, x, x)) 
+0

@ Matt327:在正規的Jython中對我來說工作得很好。第二個例子工作嗎?如果是這樣,'\ n'.join([x] * 3)'? – Blender

0

在這裏你去:

def program(): 
    x = requestString("  ") 
    print "%s\n" % x * 3 

program() 

的%s被換成X,您的字符串。

爲沒有空線在端請求:

def program(): 
    x = requestString("  ") 
    print "%s\n%s\n%s" % (x,x,x) 
program() 

與打印可變數目:

def program(): 
    a_string = requestString("  ") 
    a_number = 10 
    print '\n'.join(a_string for x in range(a_number)) 
program() 
+0

請參閱編輯,修正它。 – Roland

+0

請按照您的要求編輯 – Roland