我想写一个剧本,取一个词,把前三个字符,最后三个字符,以及中间的任何部分都打印成圆点:
阿布拉卡布拉
abr…胸罩
我成功了
word = input("What's the word ?")
first = str(word[0:3])
last = str(word[-3:])
middle = int(len(word)-6)
midDOTS = "." * (middle)
print((first)+(midDOTS)+(last))
但是我想在一行上完成,就像我在bash中所做的那样,例如,这将返回一个网络接口列表:
^{pr2}$如何使用python实现这一点?我试过了,但没用:
word = input("What's the word ?")
midDOTS = "." * (int(len(word)-6))
print(str(word[0:3])+(midDOTS)+ str(word[-3:]))
正确的语法是什么?在
编辑
感谢所有人帮助我不仅正确理解了这一点,而且也理解了这一点。这是我最后要去的。。。在
def print_dotted_word():
word = str(input("What's the word ?"))
if len(word)<7:
raise ValueError("Needs to be at least 7 letters.")
print(word[:3] + '.'*(len(word)-6) + word[-3:])
while True:
try:
print_dotted_word()
break
except ValueError:("Needs to be at least 7 letters.")
您可以执行以下操作:
这里,如果输入的
word
少于7个字符,我们将引发ValueError
异常。在我们可以在pythonshell中通过将此代码封装在函数
print_dotted_word()
中来检查这一点。在Python2.7:
^{pr2}$Python3.4:
^{3}$相关问题 更多 >
编程相关推荐