2017-04-16 78 views
-1

我有在輸入一些字符串值,像這樣:如何實現字符串操作?

hellOWOrLD.hELLOWORLD. 

輸出我需要:

Helloworld. Helloworld. 

或者輸入:

A.B.A.C.A.B.A. 

和輸出:

A. B. A. C. A. B. A. 

因此,當你看到我需要點分離的單詞。 同樣任務的規則是,如果輸入不能體改輸出爲1

於是,我就這樣做:

import sys 
input = raw_input().lower().split('.') 

for el in input: 
    sys.stdout.write(el.capitalize() + '.',) 

所以這是不好的代碼。你可以幫我嗎?

+1

你所說的 「不好的代碼」 是什麼意思?瞭解如何創建[mcve]。 –

回答

1

你可以用re.sub和if語句來檢查:

import re 
usrinput = raw_input() 
pretty = " ".join([x.capitalize() for x in re.sub('\.','. ', usrinput.lower()).split()]).strip() 
if pretty == usrinput: 
    print 1 
else: 
    print pretty 

輸入:

hellOWOrLD.hELLOWORLD. 

輸出:

Helloworld. Helloworld. 

輸入2:

A.B.A.C.A.B.A. 

輸出2:

A. B. A. C. A. B. A. 

輸入3:

Helloworld. Helloworld. 

輸出3:

1 
0

這裏,似乎工作的方式:

input = # get input from somewhere 
output = '. '.join([ piece.capitalize() for piece in input.split('.') ]) 

例如如果input"hellOWOrLD.hELLOWORLD.",output"Helloworld. Helloworld. "

如果你想擺脫的最後空間,用途:

output = output.strip(' ') 

如果你想output是在情況1沒有做出更改,這樣做:

if input == output: 
    output = 1 
+0

請修復您的代碼。第二個代碼塊沒有正確格式化,最後一行是無效的python – abccd

+0

trim()?可能是rstrip() –

+0

@deferredhegehog還有一個投訴,修剪不是一個有效的方法字符串,這個答案需要被刪除或由回答者得到修復 – abccd