2017-04-16 50 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