歌者文明清理员 发表于 2023-2-15 18:40:06

退出两层循环

pygame 的事件循环的通用形式如下
while running:
    for event in pygame.event.get():
#其他

但这样就只能设running的值来退出循环,有没有什么办法直接退出for-while循环,就是结束事件循环但不结束程序

鱼cpython学习者 发表于 2023-2-15 19:42:20

我没看懂,你想退出for循环,就直接break;你要是想退出while循环,那程序就结束了啊

歌者文明清理员 发表于 2023-2-15 19:51:39

鱼cpython学习者 发表于 2023-2-15 19:42
我没看懂,你想退出for循环,就直接break;你要是想退出while循环,那程序就结束了啊

比如while外面还有东西
当然,这代码是错的
running=true
while running:
forevent in pygameevent.get:
   if eve.type ==pygame.Quit:
       running=false
pygame.quit()
# 后面还有代码
所以用sysexit不行

鱼cpython学习者 发表于 2023-2-15 20:30:11

歌者文明清理员 发表于 2023-2-15 19:51
比如while外面还有东西
当然,这代码是错的



我能想到的是raise Exception然后try-except

歌者文明清理员 发表于 2023-2-15 20:30:54

鱼cpython学习者 发表于 2023-2-15 20:30
我能想到的是raise Exception然后try-except

好办法
页: [1]
查看完整版本: 退出两层循环