我想寫一個劇本需要一個字和印刷前三個字符,最後3個字符,不管位於正中間點:參數擴展使用Python
abracabra
ABR .. .bra
我做了工作,
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做,例如它返回的網絡接口的列表:
INTFACES=$(/sbin/ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d')
如何用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.")
你有一個語法錯誤,'midDOTS = 「」 *(int(len(word)''應該是'midDOTS =「。」*(int(len(word)-6))' – dstudeba
是的,我剛修好了,謝謝,但腳本仍然不能運行。 –
Oh waiting - You are right!It does now now!非常感謝。 –