Я пытаюсь написать скрипт берет слово и печатает первые три символа, последние 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))
, но я хотел бы сделать это на одной линии, как я могу сделать в Баш, например, это возвращает список сетевых интерфейсов:
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
Да, я только что исправил его, спасибо. Но сценарий все еще не запускается. –
Ой, подождите! Вы правы! Это работает сейчас! Большое спасибо. –