串的处理。

题目描述
在实际的开发工作中,对字符串的处理是最常见的编程任务本题目即是要求程序对用户输入的串进行处理。具体规则如下
1.把每个单词的首字母变为大写
2.把数字与字母之间用下划线字符 ()分开,使得更清晰3.把单词中间有多个空格的调整为1个空格
输入描述
用户输入的串中只有小写字母,空格和数字,不含其它的字母或符号。每个单词间由1个或多个空格分隔。假设用户输入的串长度不超过200个字符
输出描述
输出处理好的字符串
输入输出样例

you and me what cpp2005program

输出

You And Me What Cpp_2005_program

注释那个方法只通过3个测试,不清楚原因

import os
import sys

# 请在此输入您的代码
# s = input().split(' ')
# out = ""
# for ss in s:
#     # if ss.isalpha():
#     ss = ss[0].upper() + ss[1:]

#     for i in range(len(ss)-1):

#         out += ss[i]
#         if ss[i].isdigit() and ss[i + 1].isalpha():
#             out += '_'
#         if ss[i].isalpha() and ss[i + 1].isdigit():
#             out += '_'
#     out+=ss[-1]
#     out+=' '
# print(out)



# 请在此输入您的代码
s = input().split()
new_out=[]
for ss in s:
    ss=list(ss)
    out = ""

    for i in range(len(ss)-1):

        out += ss[i]
        if ss[i].isdigit() and ss[i + 1].isalpha():
            out += '_'
        if ss[i].isalpha() and ss[i + 1].isdigit():
            out += '_'
    out+=ss[-1]
    new_out.append(out)
new_out=" ".join([i[0].upper()+i[1:] for i in new_out])
print(new_out)

你可能感兴趣的:(python算法,python,算法)