Python参数扩展

2024-09-27 23:21:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个剧本,取一个词,把前三个字符,最后三个字符,以及中间的任何部分都打印成圆点:

阿布拉卡布拉

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.")

Tags: themiddleinputlen字符whatwordint
1条回答
网友
1楼 · 发布于 2024-09-27 23:21:51

您可以执行以下操作:

word = input("What's the word ?")
if len(word)<7:
    raise ValueError("Please enter a word greater than 6 characters")
print(word[:3] + '.'*(len(word)-6) + word[-3:])

这里,如果输入的word少于7个字符,我们将引发ValueError异常。在

我们可以在pythonshell中通过将此代码封装在函数print_dotted_word()中来检查这一点。在

Python2.7:

^{pr2}$

Python3.4:

^{3}$

相关问题 更多 >

    热门问题