实现一个函数
实现一个叫做 punctuation() 的函数,这个函数不需要任何参数。它会从用户那里输入一个字符串,然后打印出这个字符串中所有的标点符号,按照从左到右的顺序显示。
def punctuation():
a = raw_input("Please enter a string:")
check = ['!', ',', '.', ':', '?', ';']
for p in check:
if p in a:
a.remove(p)
我在 IDLE 上总是看到一个错误提示,说 raw_input 没有定义?还有,我对 split() 这个函数的作用也不是很了解。大家轻点,我还是个 Python 新手。
2 个回答
1
听起来你在使用Python 3。raw_input()
这个函数已经被input()
替代了。
1
从你的逻辑来看,你可能想要反向操作。
- 先准备一个标点符号的列表(或者字符串)。可以查查标准库中的字符串模块,看看有没有相关的帮助。
- 逐个检查你输入字符串中的每个字符,如果这个字符在你准备的列表里,就打印出来。
看起来 string
模块在这里确实能帮上忙:
>>> import string
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
所以,你的程序大概可以这样写:
for each_character in mystr:
if each_character in string.punctuation:
没错,在python2中你可以用 raw_input()
来获取字符串,像你现在这样。而在python3中,你只需要用 input()
就可以了。