勘誤表
不管是錯字、漏字,還是程式碼執行結果有錯,所有這些小瑕疵都會被我誠心記錄在此。「錯誤」也是學習的一部分,所以,如果您發現書中有任何讓您忍不住翻白眼的錯誤,請千萬不要吝嗇,把您的發現留言或來信告訴我!您的每一條指正都是幫助我成長的機會,讓這本書能夠更加完美。不管是指正或吐槽,您的一句話都可能成就這本書的下個版本!
第 127 頁
原文:
# 判斷輸贏
if user_input == answer:
print("平手!")
elif (user_input == 1 and answer == 3) or (user_input == 2 and answer == 1) or (user_input == 3 and answer == 2):
print("你輸了!")
else:
print("你贏了!")
修正:
# 判斷輸贏
if user_input == answer:
print("平手!")
elif (user_input == 1 and answer == 3) or (user_input == 2 and answer == 1) or (user_input == 3 and answer == 2):
print("你贏了!")
else:
print("你輸了!")
第 458 頁
原文:
for row in data:
if row["成交股數"] is not None:
date = int(row["日期"].split("/")[-1])
opening = int(float(row["開盤價"]))
closing = int(float(row["收盤價"]))
highest = int(float(row["最高價"]))
lowest = int(float(row["最低價"]))
這個不是錯誤,而是在轉換開盤、收盤價等數字的時候,原本的程式碼不會出錯,但後來台積電的股價漲到破千點,數值裡有千位數的逗號,導致型態轉換錯誤,所以在轉換之前,應該要先處理逗號,像是把 1,023.00
轉換成 1023.00
:
修正:
for row in data:
if row["成交股數"] is not None:
date = int(row["日期"].split("/")[-1])
opening = int(float(row["開盤價"].replace(",", "")))
closing = int(float(row["收盤價"].replace(",", "")))
highest = int(float(row["最高價"].replace(",", "")))
lowest = int(float(row["最低價"].replace(",", "")))
第 478 頁
原文:
Python 有一個內建的偵錯器叫做 pbd,可以幫助我們更有效率地找出問題。
修正:
Python 有一個內建的偵錯器叫做 pdb,可以幫助我們更有效率地找出問題。