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

在继续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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!