gpt4 book ai didi

python - (Pygame)Python在 “invalid syntax”上说 “: ”,但仅在特定脚本中

转载 作者:行者123 更新时间:2023-12-03 08:21:42 24 4
gpt4 key购买 nike

首先,对于可能是一个非常新手的问题,我深表歉意。

话虽如此,我想了解为什么Python有时会在脚本中以“:”为目标,并抛出“无效语法”错误。通常在我向脚本中添加一些内容后发生,然后一直说在“if”语句后加上“:”是错误的。

为了验证这种情况是如何发生的,我创建了一个不同的“if”语句以放入旧的语句,并且该错误仍然发生。我还尝试将“if”语句复制粘贴到另一个脚本中,并且它起作用了。

for event in pygame.event.get():



上面的行位于以下脚本的第35行:

  import pygame, sys

display_width = 800
display_height = 600

BLUE = (0,0,255)

DISPLAY = pygame.display.set_mode ((display_width,display_height))

Player_img = pygame.image.load("spacecore.png")

clock = pygame.time.Clock()

Player_Img = pygame.image.load("role.png")


def game_loop():

Game = True

while Game == True:

pygame.display.update()

DISPLAY.fill(BLUE)
clock.tick(60)

def player(x,y):
DISPLAY.blit(Player_Img,(x,y))
mod_x = mod_y = 0
x += mod_x
y += mod_y

player((10,100)

for event in pygame.event.get():
if event.type == pygame.key.get_pressed():
if event.key == pygame.K_LEFT:
mod_x = 3
elif event.key == pygame.K_LEFT:
mod_x = 3
elif event.key == pygame.K_LEFT:
mod_x = 3
elif event.key == pygame.K_LEFT:
mod_x = 3
else:
mod_x = mod_y = 0

if event.type == pygame.QUIT:
Game = False

game_loop()
pygame

最佳答案

您在这里缺少右括号:

  player((10,100)

当一行中有未封闭的括号( () [] {})时,python将解释以下各行,因为所有这些行均写在同一行中。这样,您可以中断多行中包含大量参数的大型数组初始化或函数调用,而无需在每行末尾转义换行符。

您可以这样写:
max(
[1, 2, 3, 4, 5],
key=math.sin
)

代替这个:
max(                \
[1, 2, 3, 4, 5], \
key=math.sin \
)

但是,在您所处的情况下,它隐藏了真正的语法错误,并产生了错误的错误, :是不能写在函数调用的参数列表中的第一个术语。 ( (10, 100) for event in pygame.event.get())之前的术语可能是一个生成器表达式,如果不存在冒号,那就是为什么它在冒号而不是缺少括号的地方失败了。

关于python - (Pygame)Python在 “invalid syntax”上说 “: ”,但仅在特定脚本中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32429359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com