很多人學python常常會遇到各種問題,搞不懂很懵逼,今天綜合我多年經驗 總結以下十點常見問題

1: win 系統下,python3+環境,寫一個購物車程式,退出時列印商品價格,執行后報錯資訊如下
Traceback (most recent call last):
File "H:/Python培訓/2017-09-14/Shopping Cart.py", line 6, in <module>
print("您選擇的商品價格為:"+prices[buy+1])
TypeError: must be str, not int
答案:字串不能跟整型合并,把需要合并的整型用str轉換成字串即可,
2: win 系統下,python3+環境,在創建一個嵌套的字典時,執行后報錯資訊如下
"C:\Program Files\Python\Python36\python.exe" H:/Python培訓/2017-09-18/level3.py
File "H:/Python培訓/2017-09-18/level3.py", line 2
"福建省"{"福州"{"倉山區","晉安區","臺江區"},
^
SyntaxError: invalid syntax
答案:鍵跟值之間必須要使用:隔開,加上:即可,
3: win 系統下,python3+環境,在讀取一個嵌套的字典時,執行后報錯資訊如下
Traceback (most recent call last):
File "H:/Python培訓/2017-09-18/level3.py", line 14, in <module>
for i2 in level(choice1):
TypeError: 'dict' object is not callable
答案:字典取鍵的值時應該使用[]而不是(),()改成[]即可,
4: win 系統下,python3+環境,在參考一個變數時,執行后報錯資訊如下
Traceback (most recent call last):
File "H:/Python培訓/2017-09-19/shopping car.py", line 22, in <module>
print(seller_username)
NameError: name 'seller_username' is not defined
答案:參考了一個不存在的變數,參考前需要先定義變數,
5: win 系統下,python3+環境,在呼叫一個串列的值時,執行后報錯資訊如下
Traceback (most recent call last):
File "H:/Python培訓/2017-09-19/shopping car.py", line 26, in <module>
if user_password == user_password_list(user_list.index(user_name)):
TypeError: 'list' object is not callable
答案:取串列的值時應該使用[]而不是(),把()換成[]即可,
6: win 系統下,python3+環境,在執行一個if..else陳述句時,執行后報錯資訊如下
"C:\Program Files\Python\Python36\python.exe" "H:/Python培訓/2017-09-19/shopping car.py"
File "H:/Python培訓/2017-09-19/shopping car.py", line 40
elif choice == "q":
^
IndentationError: expected an indented block
答案:if陳述句下面的代碼塊沒寫就運行,代碼塊沒寫時可使用pass陳述句
7: win 系統下,python3+環境,choice接收input的輸入,執行后報錯資訊如下
Traceback (most recent call last):
File "H:/Python培訓/2017-09-19/shopping car.py", line 40, in <module>
if choice >=0 and choice<len(goods_list):
TypeError: '>=' not supported between instances of 'str' and 'int'
答案:資料型別錯誤,input輸入的為字串,字串無法跟整型比較,使用int將字串轉換成整型即可,
8: win 系統下,python3+環境,進行檔案操作時,執行后報錯資訊如下
Traceback (most recent call last):
File "H:/Python培訓/2017-09-19/shopping car.py", line 56, in <module>
ba.write(bala)
TypeError: write() argument must be str, not int
答案:write寫入必須為字串,不能為整型,使用str將整型轉換為字串即可,
9: win 系統下,python3+環境,使用split函式時,執行后報錯資訊如下
File "H:/Python培訓/1.第一模塊/作業/模擬登陸/login.py", line 6
x = line1.strip().split(,)
^
SyntaxError: invalid syntax
答案:split中的引數為字串型別,必須加引號,
10: win 系統下,python3+環境,寫一個程式進行檔案操作,讀取檔案時,執行后報錯資訊如下
Traceback (most recent call last):
File "H:/Python培訓/1.第一模塊/作業/三級選單/level3.py", line 2, in <module>
for line in f:
io.UnsupportedOperation: not readable
答案:打開檔案時使用的是“a”追加模式,無法讀取檔案,將打開模式改為“r”即可,
問題: win 系統下,python3+環境,for回圈一個字典時,執行后報錯資訊如下
File "H:/Python培訓/1.第一模塊/作業/三級選單/level3.py", line 18
for y in level[choice]
^
SyntaxError: invalid syntax
答案:for回圈陳述句末尾忘記加:,加上:即可,
問題: win 系統下,python3+環境,寫一個程式對檔案進行操作,回傳檔案大小時,執行后報錯資訊如下
Traceback (most recent call last):
File "H:/Python培訓/1.第一模塊/作業/購物車/shopping.py", line 22, in <module>
if os.path.getsize() == 0:
TypeError: getsize() missing 1 required positional argument: 'filename'
答案:os.path.getsize()的引數必須為具體的檔案,指定具體的檔案即可,
最后總結:不管你是為了Python就業還是興趣愛好,記住:專案開發經驗永遠是核心,如果你缺新專案練習或者沒有python精講教程,可以去小編的Python交流.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,里面很多新教程專案,還可以跟老司機交流討教!
本文的文字及圖片來源于網路加上自己的想法,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/164446.html
標籤:Python
