我想用Python处理一个句子。首先,我想颠倒句子中单词的顺序。然后,我想删除所有不以大写字母开头的单词。例如,BaSe fOO ThE AttAcK
将变为attack the base
。
到目前为止,这是我的代码:
a = input('code: ')
b = a.split()
b.reverse()
g = ''
for i in b:
if i[0] == i[0].upper():
g += i+' '
print('says:',g.lower()[:-1])
#ex) BaSe fOO ThE AttAcK
attack the base
#it all works but punctuation. it can't discern punctuation and uppercase/lowercase so, when I input !!! it makes !!!
#it has to make nothing when I input !!!
#Help me please.
这不能很好地处理标点符号 - 当我输入!!!
时输出!!!
,但我希望它不输出任何内容。我也不确定它能很好地处理大写/小写。如何让我的代码更好用?
答案 0 :(得分:0)
您可以在执行其他字符串处理任务之前先删除标点符号。
import string
a = input('code: ')
# Remove punctuations
translator = str.maketrans('', '', string.punctuation)
a = a.translate(translator)
b = a.split()
b.reverse()
g = ''
for i in b:
if i[0] == i[0].upper():
g += i + ' '
print('says:', g.lower()[:-1])
(作为一般性建议,使用更明智的变量名称,请在下次更清楚地描述问题。)