01/10/2018, 10:16

Đoạn code python khó hiểu

em đang đọc sách về python 3 thì có đoạn code về viêc lấy dữ liệu cụ thể là giá cà phê của một trang web
chỗ em thắc mắc là trong vòng lặp có cái gì đó sai sai . em thấy rằng việc thiết lập lại giá trị text , page sẽ luôn để vị trí tìm kiếm ở đầu nó sẽ chỉ tìm ở vị trí đầu tiên

import urllib.request

price  = 99.99
while price > 4.74:
	page = urllib.request.urlopen("http://")
	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")	
Henry viết 12:24 ngày 01/10/2018

Nếu đã là sách thì ví dụ phải đi kèm với discussion. Bạn đã đọc chưa?

Hoàng Mạnh viết 12:17 ngày 01/10/2018

discussion

em đã tìm rồi nhưng chưa thấy , anh (chị )có thể bỏchú thời gian giải thích cho em được không ạ

Henry viết 12:27 ngày 01/10/2018

Screenshot cái đoạn discussion cho mình xem đã.

Hoàng Mạnh viết 12:20 ngày 01/10/2018

sách head first programming đó anh, chủ yếu là lời dẫn em không biết phải chụp phần nào cả

vtrnnhlinh viết 12:30 ngày 01/10/2018

thấy phần nào liên quan thì chụp đại lên

Hung viết 12:25 ngày 01/10/2018

Sao bạn không copy code chạy luôn cho lẹ.
Với lại mã nguồn trong sách lập trình Apress, in Action, Profressional, đoạn code chạy không được là điều bình thường, do đó chỉ cần hiểu.

Henry viết 12:30 ngày 01/10/2018

Mình cũng thấy là đoạn này có vấn đề.
Nên mình cũng cần bạn screenshot cái đoạn giải thích của tác giả.
Chụp mấy cái mà nó gần đoạn code này đấy

Hoàng Mạnh viết 12:24 ngày 01/10/2018

đợi em xíu , em tìm lại file pdf , em in ra rồi nên không biết để file mềm ở đâu nữa , mà đây là chương trình hoàn chỉnh chứ không phải chương trình mẫu đâu ạ

Hoàng Mạnh viết 12:21 ngày 01/10/2018

đây là link của file : http://oez.es/A%20Learner’s%20Guide%20to%20Programming%20Using%20the%20Python%20Language.pdf
ở trang 85 , mạng em hơi chậm tải rất chậm cái trang nước ngoài , mong các anh chị giúp đỡ

Henry viết 12:16 ngày 01/10/2018

Load chưa ra thôi. Đợi đi!! Mới load được trang bìa

vtrnnhlinh viết 12:31 ngày 01/10/2018

úi chà, của em hiện rồi, mới xóa mà bác rep nhanh quá

Henry viết 12:32 ngày 01/10/2018

Screenshot coi ké với

vtrnnhlinh viết 12:26 ngày 01/10/2018

trang 85 đây

Hoàng Mạnh viết 12:29 ngày 01/10/2018

85 theo trên sách ấy ạ , chứ không phải trang theo file

Henry viết 12:26 ngày 01/10/2018

Sao mình trang 62 đã có

vtrnnhlinh viết 12:25 ngày 01/10/2018

mình bấm vào link của bạn trên kia, bạn có bản riêng à

Henry viết 12:27 ngày 01/10/2018

Còn load chưa hết đây

vtrnnhlinh viết 12:19 ngày 01/10/2018

sách gì mà hình lung tung xèng, dễ hiểu nhưng load lâu quá, nếu nó mà viết bằng c++ thì em đã tải về roài .-. mới chuyển qua gg coi thử thế nào, edge sao nó khác quá :v lại phải chờ

vtrnnhlinh viết 12:19 ngày 01/10/2018

Đã load xong và thật xấu hổ rằng mình đọc cũng méo hiểu gì hóng cao nhân khác giải thích để mình học hỏi thêm

Henry viết 12:29 ngày 01/10/2018

Ok listen. This problem is ez
Mục đích của nó là muốn biết được giá

Về sau ông già này lại đòi hỏi là chỉ in giá khi mà giá nó dưới $4.74. Bạn nhìn kĩ câu “Keep checking the Beans’R’Us” website until that happens.

Do đó đoạn code này hoàn toàn dễ hiểu. Nó giống việc bạn cứ reload lại trang facebook của mình xem có gì đó mới mẻ không với điều kiện nó liên quan đến lập trình mới được hiện.
Nếu bạn đọc thêm một khúc nữa sẽ có đoạn nhắc tới việc gửi request liên tục như vậy là phí phạm. Họ cho thêm time delay vào nữa.
Về sau họ sẽ còn xây dựng hàm.

Bài liên quan
0