Ошибка трассировки в Python

Когда я использую float() метод в программе, я получаю ошибку. Можете ли вы помочь мне с этим. Я использую Python 3.4.0a4.

Это программа:

import urllib.request

price = 99.99
while price > 4.74:
   page = urllib.request.urlopen("http://www.beans-r-us.biz/prices.html")
   text = page.read().decode("utf8")
   where = text.find('>$')
   start_of_price = where + 2
   end_of_price = start_of_price + 4
   price = float(text[start_of_price:end_of_price])
Print("Buy!")

и это ошибка, которую я получаю:

Traceback (most recent call last):
  File "F:/Python/python 8.py", line 11, in <module>
    price = float(text[start_of_price:end_of_price])
ValueError: could not convert string to float: '!DOC'

2 ответа

Решение

Кажется, что вы нарезали строку веб-страницы в неправильной позиции, и результат text[start_of_price:end_of_price] является !DOC,

Это недопустимое число и, следовательно, не может быть преобразовано в число с плавающей точкой.

Это точный код, указанный в главе "Первое программирование". Ссылка была сломана, и я получил вывод о ее исправлении. Спасибо за вашу помощь..

Другие вопросы по тегам