+ 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 Antworten
- 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""")
Это работает