Как исправить «ValueError: неверный литерал для int () с основанием 10:» в моем коде - PullRequest
0 голосов
/ 15 мая 2019

Я на самом деле реализую классическую многопользовательскую игру, используя библиотеку python curses. Я сделал файл snake.py, который является клиентом, и файл server.py для этой цели. Я попытался просмотреть данные и убедиться, что я правильно анализирую полученные данные и отправляю их правильно, чтобы убедиться, что я не посылаю пустую строку, но все еще на snake.py позиции, которую мой сервер отправляет в начале, пусто Строка, которую функция parse не может преобразовать, поскольку 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. Я уже реализовал многопоточность, и мой сервер каким-то образом отправляет странные данные, в то время как мой клиент не может их проанализировать. Пожалуйста, укажите, где я делаю ошибку в моей реализации.

1 Ответ

0 голосов
/ 15 мая 2019
>>>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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...