如何使用Python print的sep参数处理input获取的字符串?
问题原因
你用错了sep参数的作用——它是用来分隔print函数传入的多个独立参数的,不是用来处理单个字符串内部的字符分隔。比如print("This", "Is", "My", "Phrase", sep='...')才会输出This...Is...My...Phrase,但你现在只给print传了一个完整的字符串参数,sep自然不会起作用。
正确实现方法
下面是几种可行的解决方式,根据你的需求选就行:
方法一:拆分字符串为多个参数传给print
先把输入的短语按空格拆分成单词列表,再用*解包列表成print的多个参数,这样sep就会在单词间插入指定分隔符:
# 请用户输入任意短语或单词 user_phrase = input('请输入你想要打印的短语:') # 拆分后解包,用sep分隔打印 print(*user_phrase.split(), sep='...')
方法二:直接替换字符串里的空格
如果你的输入短语都是用空格分隔的,直接把原字符串里的空格替换成...最直接:
# 请用户输入任意短语或单词 user_phrase = input('请输入你想要打印的短语:') # 替换空格为指定分隔符后打印 print(user_phrase.replace(' ', '...'))
方法三:用join拼接拆分后的单词
先拆分单词列表,再用...把列表里的元素拼接成新字符串,最后打印:
# 请用户输入任意短语或单词 user_phrase = input('请输入你想要打印的短语:') # 拆分后用指定分隔符拼接再打印 print('...'.join(user_phrase.split()))
内容的提问来源于stack exchange,提问作者jonathan
相关产品推荐
相关产品推荐

