+ 1

Мое решение задачи про заголовки книг в курсе по Python 3

Я написал код, как мне кажется этот код синяя изолента от мира айти. Поможете пожалуйста улучшить его в более профессиональный вид. file = open("/usercode/files/books.txt", "r") x=str(file.readlines(1)) v=str(file.readlines(2)) c=str(file.readlines(3)) b=str(file.readlines(4)) print(x[2]+str(len(x)-6)) print(v[2]+str(len(v)-6)) print(c[2]+str(len(c)-6)) print(b[2]+str(len(b)-4)) file.close() Как правильно видно, я каждой переменной присвоил по одной строке из файла. Задача на выходе получить первую букву названия книги+длинну строки. Предварительно я уже выяснил количество строк поэтому 4. Теперь самое смешное. Если я допустим в x(2) двойку меняю на 0, на выходе получаю [ скобку. А по поводу длины строки я тупо вычел по 6 в каждой, так как там считается [''] и ещё /n. Исключение в последней. Так как там /n уже не будет так как это последняя строка

17th Oct 2020, 12:29 PM
Penta epta Sports
Penta epta Sports - avatar
9 ответов
+ 10
file = open("/usercode/files/books.txt", "r") for line in file: print (line[0]+str(len(line) - line.count('\n'))) file.close()
2nd Jan 2021, 2:22 PM
Leo
+ 8
Тебе лучше принять переменную как целую ленту строк, например: lines = file.readlines() и потом уже относиться к её элементам: print(lines[1][0] + str(len(lines[1])))
17th Oct 2020, 6:23 PM
Kuba Siekierzyński
Kuba Siekierzyński - avatar
+ 2
Я решил задачу следующим образом: for line in file: print(f'{line[0]}{str(len(line.rstrip()))}')
4th Nov 2020, 4:57 AM
Иванов Дмитрий
Иванов Дмитрий - avatar
+ 1
Мой вариант кода file = open("/usercode/files/books.txt", "r") #введите код сюда line = file.readlines() for i in line: print (i[0] + str(len(i) - i.count("\n"))) file.close()
31st Oct 2022, 6:39 AM
Maxim Smirnov
Maxim Smirnov - avatar
0
file = open("/usercode/files/books.txt", "r") q = file.readlines() for i in range(len(q)): print (q[i][0]+str(len(q[i]) - q[i].count('\n'))) file.close()
29th Jan 2021, 12:11 PM
мурад
мурад - avatar
0
I am a fucking coder file = open("/usercode/files/books.txt", "r") #введите код сюда lines=file.readline() print(lines[0]+str(len(lines)-1)) lines=file.readline() print(lines[0]+str(len(lines)-1)) lines=file.readline() print(lines[0]+str(len(lines)-1)) lines=file.readline() print(lines[0]+str(len(lines))) file.close()
5th Jul 2021, 8:39 PM
Артем Мартынов
Артем Мартынов - avatar
0
Обесните мне кто то что к чему в етом коде мне непонятно print([2]+str(len(x)-6)
30th Oct 2022, 8:06 PM
Костя Повстяной
Костя Повстяной - avatar
0
Непонятно зачем там стоит +str(len(x)-6)
30th Oct 2022, 8:16 PM
Костя Повстяной
Костя Повстяной - avatar
0
"Непонятно зачем там стоит +str(len(x)-6)" Он выщитал длину строки таким способом: длину строки методом len, из общего количества символов убрал ковычки /n, и ещё что-то (6 символов). Результат перевел из integer в string Весь метод ломается, если будут какие-нибудь ещё символы, это как закрыть глаза за рулём и верить что дорога не свернёт
31st Oct 2022, 3:50 AM
Maxim Smirnov
Maxim Smirnov - avatar