我实际上是使用python curses库实现经典的多人游戏。我已经制作了一个snake.py
文件作为客户端,并为此制作了一个server.py
文件。我尝试查看数据并确保我正确解析了接收到的数据并正确发送,以确保我没有发送空字符串,但仍然在snake.py
上,我的服务器在开始时发送的位置是一个空字符串,函数解析无法转换,因为int()
无法转换空字符串。
这是我的代码的链接,您只应打开server_multi.py和server.py。
https://github.com/hamza24farrukh/Netcen-cs-382/tree/master/assignment2/snake%20IO
这是指向我两个终端的图片的两个链接
https://imgur.com/b2Anuw5
https://imgur.com/dtybwtW
主要问题是如何修复我的代码,以便它开始在两个客户端之间发送和接收数据,这就是我打开snake_multi.py文件的两个实例时的情况。我已经实现了线程处理,而我的服务器无法以某种方式发送奇怪的数据,而客户端却无法对其进行解析。请指出我在实现过程中犯了一个错误。
最佳答案
>>>int('33')
33
>>>int('33.44')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '33.44'
因此,python可以识别整数字符串,但是如果它获得无效的字符串或浮点值,它将引发
ValueError
。>>> int('')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: ''
因此,这是您的代码中的错误。检查一下。
您也可以使用
try:
int('') #or your code
except ValueError:
pass # or whatever
关于python - 如何在我的代码中修复 “ValueError: invalid literal for int() with base 10: ' ' ”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56141277/