2013-11-26 35 views
0

我寫類似下面的腳本:For循環,如果和其他人,不用想的印刷之間創建空白

在輸入的文字,我會寫一個字,如果信該字是abcde它只會打印該字母,否則將打印字母+ o,然後再打印該字母。

對於目前的結果,我得到了(例如text = allan),「a lil lil a nin」。

我想要的結果是:「alillilanin」。

如何刪除空格?

def sprak(text): 
    bok = "abcde" 
    for letter in text: 
     if letter in bok == bok: 
      print letter, 
     elif letter != bok: 
      print letter+"u"+letter, 


text = raw_input("what word ") 
sprak(text) 
+0

是什麼'如果以書函==書:'對你意味着什麼?我不相信這對Python來說意味着什麼。 – Johnsyweb

+0

請編輯您的問題:您提供的示例與您的代碼不符。 –

+0

你永遠不知道我在那裏做了什麼,刪除了最後的「==博克」部分,所以它現在如果在博克的信: – user3036505

回答

1

只要不使用print,試試這個:

def sprak(text): 
    bok = "abcde" 
    for letter in text: 
     if letter in bok == bok: 
      sys.stdout.write(letter) 
     elif letter != bok: 
      sys.stdout.write(letter + "u" + letter) 
+0

不知道我是否跟着你,是否打印文字?無論如何,我得到NameError:全球名稱'sys'未定義 – user3036505

+1

@ user3036505您需要'導入sys'以使用'sys'調用。 – thegrinner

+1

謝謝你先生,現在工作很好 – user3036505

0

您需要的Python V3爲print功能。您需要先導入該功能

from __future__ import print_function 

現在,禁止在項目之間的空白分隔符。

print(letter + 'u' + letter, sep='') 

&也抑制底線終止做

print(letter, sep='', end='') 
0

構造一個字符串,並打印一次:

output_str = '' 
for letter in text: 
    if letter in bok == bok: 
     output_str += letter, 
    elif letter != bok: 
     output_str += letter+"u"+letter 
print output_str