2016-05-12 19 views
-2

我寫了這個代碼,以使打印出一個新行我米做一個行提供輸入後..所以像這樣Python中,與新的生產線有麻煩

netM = '' 

while True: 
    line = raw_input() 
    if not line: break 

    netM += '' + line 
    netMs = netM.replace('.', '') 
print("\n" + netMs + " = " + netMs + " or " + netM + "\n") 

可以說,我進入,

Pause.now 

它會輸出..

Pausenow = Pausenow or Pause.now 

但我想要做的很多線路的一次,所以會做..

Pausenow = Pausenow or Pause.now 
Pausenow1 = Pausenow1 or Pause.now1 
Pausenow2 = Pausenow2 or Pause.now2 

,如果我進入,

Pause.now 
Pause.now1 
Pause.now2 

等。

而是它做到這一點。

pauseNowpauseNow1pauseNow2 = pauseNowpauseNow1pauseNow2 or pause.Nowpause.Now1pause.Now2 
+0

將您的打印語句移到循環中? –

+0

然後我只能輸入一行代碼.. – Nevermind123

+0

你怎麼看?嘗試一下。 –

回答

1

發生這種情況是因爲raw_input()將輸入視爲單個字符串。

此外,您還將輸入的行添加到每個輸入的input的newM變量。它應該在for循環中。定義一些其他斷點而不是默認的「新行」。

這裏我用斷點作爲「」,即空字符串。現在當你輸入空字符串時,這個循環會中斷。

breakpoint = "" 
while True: 
    line = raw_input() 
    if line.strip() == breakpoint: 
     break 
    netM = line 
    netMs = netM.replace('.', '') 
    print("\n" + netMs + " = " + netMs + " or " + netM + "\n") 
1

您需要打印的線環否則將繼續追加新的行前一個的每次迭代只需將打印語句while循環 也在裏面爲你想要的結果不netM追加行變量

netM = '' 

while True: 
    line = raw_input() 
    if not line: break 

    netM = '' + line 
    netMs = netM.replace('.', '') 
    print(netMs + " = " + netMs + " or " + netM + "\n") 
0

在我看來,你應該添加一個串,'\n'除以主串(NETM),並打印整個主串,一旦while循環被打破了。

netM = '' 

while True: 
    line = raw_input() 
    if not line: 
      break 

    netMs = line.replace('.', '') 
    netM += netMs + ' = ' + netMs + ' or ' + line + '\n' 

print netM