Как мой цикл дает мне только второй индекс. и не получает третий элемент индекса

#python #loops

Вопрос:

Мой цикл не может дать мне третий элемент индекса. я хочу прояснить еще одну вещь ,что после итерации он не дает мне последнего индекса.

вход:

 4

word

localization

internationalization

pneumonoultramicroscopicsilicovolcanoconiosis
 

выход:

 word

l10n

i18n

p43s
 

Мой код:

 n=int(input())
# print(n)
for i in range(1,n 3):
    count=0
    l=list(input())
    # print(l)
    if len(l)==0:
        pass
    elif len(l)>=10:
        start=l[0]
        end=l[-1]
        for x in l:
            print(x,end="")
    else:
        print("".join(l))
 

Комментарии:

1. Я не понимаю, что такое второй или третий индекс.

2. на самом деле цикл не может дать мне последний элемент

3. Как выглядит вывод, когда вы раскомментируете print(l) строку?

4. если я напечатаю(l), это даст мне последний индекс.но после iteration.it не дает последнего индекса.

5. Я не понимал этой концепции . Не могли бы вы объяснить подробнее ?

Ответ №1:

вот лучший способ сделать это :

 f = 'localisation'
output = f[0] str(len(f[1:len(f)-1])) f[len(f)-1]
print(output)
 

Или для реализации функции :

 def(f):
   output = f[0] str(len(f[1:len(f)-1])) f[len(f)-1]
   return output
 

Комментарии:

1. Ваш код выводит: loca . Я думаю, что операция хочет l10n .

2. @Ayyoub ESSADEQ Не могли бы вы объяснить, пожалуйста?

3. @MohdAliAbbas вы берете первый символ, затем вычисляете длину от второго символа до последнего символа, а затем добавляете последний символ . Это то, что делает мой код .