LINUX.ORG.RU

История изменений

Исправление alozovskoy, (текущая версия) :

bot.send_message(m.chat.id, "error, not right i")

Вот эти куски замени на какой-нибудь bot.send_message(m.chat.id, result), и вытащи прям после всех if-then-else, в которых и задавай только значение result.

b.append(int(i))

Раз у тебя not i.isdigit() в этой части получишь ошибку

>>> int('test123')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'test123'

Пробегись хотя бы чем-то вроде

i = int(''.join([s if s.isdigit() else '' for s in i]))
>>> i = 'test123'
>>> i = int(''.join([s if s.isdigit() else '' for s in i]))
>>> i
123
>>> type(i)
<type 'int'>

Но вообще должен быть более красивый способ, все зависит от того что у тебя в этой строке может быть.

Исправление alozovskoy, :

bot.send_message(m.chat.id, "error, not right i")

Вот эти куски замени на какой-нибудь bot.send_message(m.chat.id, result), и вытащи прям после всех if-then-else, в которых и задавай только значение result.

b.append(int(i))

Раз у тебя not i.isdigit() в этой части получишь ошибку

>>> int('test123')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'test123'

Пробегись хотя бы чем-то вроде

i = int(''.join([s if s.isdigit() else '' for s in i]))
>>> i = 'test123'
>>> i = int(''.join([s if s.isdigit() else '' for s in i]))
>>> i
123
>>> type(i)
<type 'int'>


Но вообще должен быть боелее красивый способ, все зависит от того что у тебя в этой строке может быть.

Исходная версия alozovskoy, :

bot.send_message(m.chat.id, "error, not right i")

Вот эти куски замени на какой-нибудь bot.send_message(m.chat.id, result), и вытащи прям после всех if-then-else, в которых и задавай только значение result.

b.append(int(i))

Раз у тебя not i.isdigit() в этой части получишь ошибку

>>> int('test123')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'test123'

Пробегись хотя бы чем-то вроде

i = int(''.join([s if s.isdigit() else '' for s in i]))