一个简单的程序,它从键盘读取一行并输出相同的行,每个单词都被反转。
注意:一个单词被定义为一个连续的字母数字字符或连字符序列(-
)。
答案 0 :(得分:1)
str1 = raw_input()
str2 = ""
delimiters = [" ", ",", ";", ".", "\n"]
i = 0
for j in range(1, len(str1)):
if str1[j] in delimiters:
str2 += str1[i:j][::-1] + str1[j]
i = j+1
elif j==len(str1)-1:
str2 += str1[i:j+1][::-1]
print str2
答案 1 :(得分:1)
您可以使用re
库,它具有sub功能:
import re
re.sub(r'[\-a-zA-Z]+', lambda x: x.group(0)[::-1], your_string)
第一个参数[\-a-z]+
是连字符,小写和大写字母的正序列的正则表达式(您还可以添加数字0-9
或其他您想要接受/反转的内容)。第二个论点是说你应该扭转每场比赛。第三个是你想要应用它的字符串。
示例:
re.sub(r'[\-a-zA-Z]+', lambda x: x.group(0)[::-1], 'hi there andy-h')
'ih ereht h-ydna'
答案 2 :(得分:0)
最好为自己编码!我只能帮助你如何做到这一点。