Ошибка трассировки в 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
,
Это недопустимое число и, следовательно, не может быть преобразовано в число с плавающей точкой.
Это точный код, указанный в главе "Первое программирование". Ссылка была сломана, и я получил вывод о ее исправлении. Спасибо за вашу помощь..