Datehoer的博客
我本将心向明月,奈何明月照沟渠
Datehoer的博客

当前位置:主页 > 技术分享 > python argument 1 must be 2-item sequence, not int

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

浏览: 作者:Datehoer 发布日期:2020-11-09 16:24:20 来源: 原创

在继续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 <module>
    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。

文章推荐

热门标签

返回顶部
下面为相关推荐
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!