python argument 1 must be 2-item sequence, not int

Chuzilun發表於2021-01-13

在繼續python學習的時候,發現報錯了!出現錯誤argument 1 must be 2-item sequence, not int,明明我是照著書打的,為什麼會出現錯誤呢。

import pygame
import sys
from setting import Settings
def run_game():

#初始化遊戲並且建立一個螢幕物件
pygame.init() #初始化背景屬性
ai_settings = Settings()  #使類setting裡的內容直接被呼叫
# screen = pygame.display.set_mode((1200, 800)) #定義視窗大小
screen = pygame.display.set_mode(ai_settings.screen_width, ai_settings.screen_height)
pygame.display.set_caption("Alien Invasion") #視窗名字
# 設定背景顏色
# bg_color = (230, 230, 230)
#開始遊戲的主迴圈
while True:
    #監視滑鼠和鍵盤事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
    screen.fill(ai_settings.bg_color) #將顏色填充進去
    #讓最近繪製的螢幕可見
    pygame.display.flip()

run_game()
檢視程式碼,發現最上面的引用類出現紅色波浪線,但是原因應該不是這個,因為他並沒有報出錯誤。
繼續檢視

Traceback (most recent call last):
File “D:/Python-work/pythonrumen/2020/11/newtravel.py”, line 22, in
run_game()
File “D:/Python-work/pythonrumen/2020/11/newtravel.py”, line 9, in run_game
screen = pygame.display.set_mode(ai_settings.screen_width, ai_settings.screen_height)

問題出現在第9和22行,第22行是啟動遊戲,無所謂,那麼問題就在第9行了, screen = pygame.display.set_mode(ai_settings.screen_width, ai_settings.screen_height)
仔細對比發現,我的資料少了一個圓括號,通過百度查詢,得知報錯為引數為元組不是int型別,所以給引數新增一個圓括號即可

import pygame
import sys
from setting import Settings
def run_game():

#初始化遊戲並且建立一個螢幕物件
pygame.init() #初始化背景屬性
ai_settings = Settings()  #使類setting裡的內容直接被呼叫
# screen = pygame.display.set_mode((1200, 800)) #定義視窗大小
screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
pygame.display.set_caption("Alien Invasion") #視窗名字
# 設定背景顏色
# bg_color = (230, 230, 230)
#開始遊戲的主迴圈
while True:
    #監視滑鼠和鍵盤事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
    screen.fill(ai_settings.bg_color) #將顏色填充進去
    #讓最近繪製的螢幕可見
    pygame.display.flip()

run_game()

執行成功。
通過以上問題得知,原來有許多的報錯其實是因為自己的不仔細,不是漏符號了,就是中英文錯誤,需要養成一個良好的編寫習慣!

版權:本文由Datehoer原創,著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請保留以上作者資訊和原文連結本文連結:https://zjzdmc.top/jsfx/39.html。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章