Python

Помогите решить задачу на Python.

Файл содержит информацию о книгах: фамилия автора, название книги, количество страниц, цена. Определить самую дешевую книгу. И вывести название на экран.

Вот код, который получился у нас, но он работает не так, выводит непонятно что...

priceBook = open("price1.txt", "r")
string = ''
prices = {}
news = {}
count = 0
pos = 0
for i in priceBook.readline():
string += i
pos += 1
checkPoint = string.find('Стоимость:')
endPoint = string[checkPoint].find('.')
print(checkPoint, endPoint)
news = {count:string[checkPoint+11: endPoint-1]}
prices.update(news)
news.clear
count += 1
print(prices)
priceBook.close()

Вот написанное в текстовом файле:

Автор: Джоан Роулинг. Книга: "Гарри Поттер и десятое яйцо". Страниц: Сто пятьдесят. Стоимость: 5000.
Автор: Стивен Кинг. Книга: "Книга без названия". Страниц: Сто. Стоимость: 1500.
Автор: Анджей Сапковски. Книга: "Ведьмак". Страниц: Двадцать пять. Стоимость: 4000.
Автор: Говард Лавкрафт. Книга: "Зов Ктулху". Страниц: Пятнадцать. Стоимость: 2000.
Автор: Рикардо Милос. Книга: "Мастер Флекса". Страниц Двадцать. Стоймость 50000.
Вот интересно, вроде бы ключевое слово для поиска должно быть "Стоимость:", но вдруг название книги: "Стоимость: от А до Я" или вроде того. Решение очевидно: использовать rfind вместо find. А что если книг по минимальной цене более одной? Тогда надо вывести их все. Кстати, в текстовом файле опечатка, "Стоймость", вместо "Стоимость" и еще двоеточий не хватает, значит нужно генерировать исключение, что бы код корректно работал с некорректными данными. Вообщем хватит флуда, вот код, с пробелами вместо пробелов:
min_price = -1 # ценник на книгу не может быть меньше нуля
min_indexs = []

with open('price1.txt', encoding='UTF-8') as f:
    lines = f.readlines()

# Если в последней строке нету перевода на новую строку, то добавить его.
if lines[-1][-1] != '\n': lines[-1] += '\n'

index = 0
for i, line in enumerate(lines):
    x = line.rfind('Стоимость: ') + 11

    price = line[x:-2]

    try:
        price = int(price)
    except:
        print(f'Ошибка: структура файла нарушена в {i+1}-й строке')
        continue

    if min_price == -1:
        min_price = price
    else:
        if price < min_price:
            min_price = price
            min_indexs = [i]
        elif price == min_price:
            min_indexs.append(i)

print('Самые дешевые книги:')
[print(' ' + lines[index]) for index in min_indexs]
Shamil Zaripov
Shamil Zaripov
2 002
Лучший ответ
Если положите свой код на
pastebin.com
а затем сюда ссылку, то тому, кто пожелает Вам помочь, будет несравненно легче это сделать.
pevnik52
pevnik52
21 729
Данный код не имеет отношения к поставленной задаче
Сергей Воробьёв это и так понятно... но я написал сюда, чтобы мне помогли решить её...