+ 1
Помогите. Задача Заголовок книг.
Мой код: file = open("/usercode/files/books.txt", "r") lines = file.readlines() for line in lines: Z = '' Z = line[0] print (Z+str(len(line)-1)) #введите код сюда file.close()
14 Respostas
- 4
Если интересно
Мой код:
file = open ("books.txt", "r")
for i in range(3):
    line1 = file.readline()
    line3 = line1[0] + str(len(line1)-1)
    print(line3)
line2 = file.readline()
line = line2[0] + str(len(line2))
print(line)
file.close()
+ 5
Для последней строки не нужно отнимать 1
+ 5
Я опытным путем пришла к такому 
file = open("/usercode/files/books.txt", "r")
lines = file.readlines()
for line in lines:
    size=len(line)
    if line[-1]=="\n":
       size-=1
    print (line[0]+str(size))
file.close()
+ 1
По тесту не проходит
+ 1
Вот 100% рабочий код, количество строк может быть любым, со всем справиться!
file = open("F:\\Katalog.txt")
x = file.readlines()
size = len(x)
v = 1
for i in x:
    r = str(len(i))
    j = str(len(i)-1)
    if v < size:
        print (i[0]+j)
        v += 1
print (i[0]+r)
file.close()
+ 1
рабочий код на любое количество строк:
file = open("books.txt", "r")
head = file.readlines()
long = len(head)
i = 0
while i < long:
		print(head[i][0], end="")
		if (head[i][-1] == '\n'):
			print(len(head[i]) - 1)
		else:
			print(len(head[i]))
		i += 1
file.close()
+ 1
✅ЕДИНСТВЕННЫЙ рабочий код
file = open("/usercode/files/books.txt", "r")
#ваш код
lines = file.readlines()
result = [ "".join( tuple( w[0] for w in line.split() ) ) for line in lines ]
for i in result:
	print(i)
file.close()
+ 1
Коротко и ясно:
file = open("/usercode/files/books.txt", "r+")
file1 = file.readlines()
file1[3] += '\n'
for i in range(len(file1)):
    print(f"{file1[i][0]}{len(file1[i][:-1])}")
file.close()
+ 1
Passed the task with code:
 file = open("/usercode/files/books.txt", "r")
#введите код сюда
books=file.readlines()
for i in range(len(books[0:-1])):
	print((books[i][0])+str(len(books[i])-1))
print(books[-1][0]+str(len(books[-1])))
file.close()
0
у меня вот так получилось
file = open("/usercode/files/books.txt", "r")
x = file.readlines()
a = len(x)
i=0
while i < a:
    if i < a-1:
        l = len(x[i])
        print(x[i][0]+str(l-1))
        i += 1
    elif i == a-1:
        l = len(x[a-1])
        print(x[a-1][0]+str(l))
        i += 1
file.close()
0
Всем привет! Сам только учусь, пытаюсь вникнуть в код без сторонних подсказок. В итоге просидел над данной задачей час-полтора. Пришел к мнению, что при выводе списка нужно избавиться от этой " \n". Это было камнем преткновения в коде. Вот как получилось у меня:
file = open("/usercode/files/books.txt", "r")
spis=file.readlines()
a=[i.strip() for i in spis]
for x in a:
    a=str(x[0])
    b=str(len(x))
    print(a+b)
file.close()
Код рабочий и достаточно короткий. Может кому пригодится))
Можно его еще сжать:
file = open("/usercode/files/books.txt", "r")
a=[i.strip() for i in file.readlines()]
for x in a:
    print((str(x[0]))+str(len(x)))
file.close()
0
Еще вариант с комментариями:
file = open("/usercode/files/books.txt", "r")
ListBooks=file.readlines()
#Переводит файл в список
d=(len(ListBooks))-1
#Номер последнего индекса в списке
for line in ListBooks:
 i=ListBooks.index(line) 
 #Номер элемента списка
 
 index=len(line)-1
 #Цифра кода книги
 
 letter=line[0]
 #Первая буква
 
 if i<d:
  print(str(letter)+str(index))
 else:
  print(str(letter)+str(index+1))
file.close()
0
1. file = open("/usercode/files/books.txt", "r")
2. for i in file.readlines():
     print(str(i[0]) + str(len(i.strip())))
3. file.close()
Можно ли написать ещё короче, типа """print((str(i[0]) + str(len(i.strip()))) for i in file.readlines())""", т.е. можно ли for "засунуть" в print ?
- 4
#введите код сюда
print("""H12
T16
P19
G18""")
 
Это работает



