【疑问贴】为什么这些代码会报错?
python3吧
全部回复
仅看楼主
level 2
红帽RH◎ 楼主
这是我的源代码:
#导入库
import sys
import pygame
#背景图片的导入
class BGIHelper:
def __init__(self):
self.list = ["New.png"]
def BGIP(self,mode): #BGIP,BackGroundImageProcess,管理图片。
global eventList
global xl
global yl
bgi = self.list[mode]
eventList.append(bgi) #加入屏幕刷新事件
xl.append(0)
yl.append(0)
class chooseitem:
def __init__(self):
self.list1 = ["Choose0.png","Choose1.png"]
def choose_mode(self,keyinput):
global choosemode
global eventList
global xl
global yl
if keyinput == "K_UP":
if choosemode == '1':
choosemode = '0'
elif keyinput == "K_DOWN":
if choosemode == '0':
choosemode = '1'
choosemode = int(choosemode)
eventList.append(self.list1[choosemode])
xl.append(300)
yl.append(150)
#初始化
pygame.init()
pygame.mixer.init()
eventList = []
xl = []
yl = []
#设置窗口
screen = pygame.display.set_mode([800,600])
pygame.display.set_caption("Shooter")
#设置当前模式:主页面
mode = 0
choosemode = '0'
#创建对象
BGIH = BGIHelper()
c = chooseitem()
#音乐列表
list1 = ["Press Start To Play.wav"]
#按键模式
keyinput = ""
#播放主页面音乐
pygame.mixer.music.load(list1[mode])
pygame.mixer.music.play(-1)
#循环
while True:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
keyinput = pygame.key.name() #获取按键
if event.type == pygame.QUIT: #退出事件
pygame.quit()
sys.exit()
BGIH.BGIP(mode)
c.choose_mode(keyinput)
i = 0
for imgname in eventList:#遍历事件列表
x = xl[i]
y = yl[i]
img = pygame.image.load(imgname)
screen.blit(img,(x,y))
eventList = []
xl = []
yl = []
choosemode = ""
pygame.display.update() #刷新屏幕
然后它的报错是这样的:
Traceback (most recent call last):
File "E:\新的全部文件夹\002-程序\002-003-Python文件\002-003-003-Shooter\main.py", line 65, in <module>
c.choose_mode(keyinput)
File "E:\新的全部文件夹\002-程序\002-003-Python文件\002-003-003-Shooter\main.py", line 30, in choose_mode
choosemode = int(choosemode)
ValueError: invalid literal for int() with base 10: ''
吧友们,这是为什么啊?
2021年05月02日 12点05分 1
level 7
ValueError: invalid literal for int() with base 10: ''
2021年05月03日 03点05分 2
谢,已解决
2021年05月04日 11点05分
1