我见过与我的问题类似的问题,但它们都使用了正则表达式。我想做的是接受诸如“哇,这真的很有帮助!”之类的输入。然后返回到“哇,这真的很有帮助!”所以我想将标点符号从单词中分离出来。我已经尝试过这个,但它根本不起作用:
sentence = input()
punctuation = "!\"#$%&'()*+,-./:;<=>?@[\]^`{|}~"
for punc in sentence :
if punc in punctuation :
outputpunc = " %s" % punc
else :
outputpunc = character
separatedPunctuation += outputpunc
print separatedPunctuation.split()
您的问题不是 100% 清楚,就像如果两个标点符号紧接着出现时您想要在标点符号后有第二个空格。
但假设您可以使用两个空格,则代码可能如下所示:
sentence_in = "Wow,this was really helpful!"
sentence_out = ""
punctuation = "!\"#$%&'()*+,-./:;<=>?@[\]^`{|}~"
for character in sentence_in:
if character in punctuation:
sentence_out += " %s " % character
else:
sentence_out += character
print(sentence_out)
您的代码的问题在于它没有正确缩进,这在 Python 中很重要,因为它用于指示代码块。
例如参见:
for punc in sentence :
if punc in punctuation :
outputpunc = " %s" % punc
else :
outputpunc = character
真的应该看起来像这样:
for punc in sentence :
if punc in punctuation :
outputpunc = " %s" % punc
else :
outputpunc = character
正如您所看到的,for 循环开始后的其余代码需要缩进。完成循环后,您可以返回到与之前相同的缩进级别。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)