gpt4 book ai didi

python - 错误 - 值错误 : invalid literal for int() with base 10: ' '

转载 作者:行者123 更新时间:2023-12-01 01:06:51 24 4
gpt4 key购买 nike

我正在使用 python 中的套接字模块和 pygame 制作在线游戏。

def read_pos(str):
if str is not None:
string = str.split(",")
return int(string[0]), int(string[1])
else:
pass

def make_pos(tup):
return str(tup[0]) + "," + str(tup[1])


def redrawWindow(win,player, player2):
win.fill((255,255,255))
player.draw(win)
player2.draw(win)
pygame.display.update()


def main():
run = True
n = Network()
startPos = read_pos(n.getPos())
p = Player(startPos[0],startPos[1],100,100,(0,255,0))
p2 = Player(0,0,100,100,(255,0,0))
clock = pygame.time.Clock()

while run:
clock.tick(60)
p2Pos = read_pos(n.send(make_pos((p.x, p.y))))
p2.x = p2Pos[0]
p2.y = p2Pos[1]
p2.update()

这是我在客户端中使用的代码。在我的服务器中,代码如下

def convertPos(str):
if str is not None:
str = str.split(",")
return int(str[0]), int(str[1])
else:
pass

def make_pos(tup):
return str(tup[0]) + "," + str(tup[1])


pos = [(0,0),(100,100)]


def threaded_client(conn,player):
conn.send(str.encode(make_pos(pos[player])))
reply = " "
while True:
try:
data = conn.recv(2048).decode()
pos[player] = data

if not data:
print("Disconnected")
break
else:
if player == 1:
reply = (pos[0])
else:
reply = (pos[1])
print("Received: ", data)
print("Sending : ", reply)

conn.sendall(str.encode(make_pos(reply)))
except:
break

print("Lost connection")
conn.close()

我收到错误 ValueError: invalidliteral for int() with base 10: ' '.

有人可以告诉我为什么会发生这种情况吗? convertPos() 函数中 str 的值作为元组传入,我将其转换为字符串,然后转换为整数。

最佳答案

由于您已将其转换为字符串,因此您的格式是(x,y),您需要删除括号。您需要将您的convertPos函数重写为:

def convertPos(str):
if str is not None:
str=str.strip("()")
str = str.split(",")
return int(str[0]), int(str[1])

编辑您没有使用else部分,因此您可以将其删除。

正如@Azat Ibrakov所说,你不应该将元组转换为字符串,但如果你需要这样做,你可以像这样使用ast.literal_eval:

import ast
def convertPos(str):
return ast.literal_eval(str)

或者直接使用它代替convertPos函数。

关于python - 错误 - 值错误 : invalid literal for int() with base 10: ' ' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55257098/

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