Задать вопрос
@MrBrainop
Начал изучать html, Python и QT Designer

Ошибка invalid literal for int() with base 10: ''?

Проблема в том что если в одну из переменных я ничего не записываю то получаю ошибку. Как решить?!
cash = input('1 Число: ')
cash2 = input('2 Число: ')
cash3 = input('3 Число: ')
cash4 = input('4 Число: ')
cash5 = input('5 Число: ')

mon = (int(cash) + int(cash2) + int(cash3) + int(cash4) + int(cash5))
print(mon)


Сама ошибка:
mon = (int(cash) + int(cash2) + int(cash3) + int(cash4) + int(cash5))
ValueError: invalid literal for int() with base 10: ''
  • Вопрос задан
  • 28151 просмотр
Подписаться 2 Простой Комментировать
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Как решить?!

Суммировать только значения, являющиеся числами:

mon = sum(map(int, filter(lambda x: x.isdigit(), [cash, cash2, cash3, cash4, cash5])))
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Вы пытаетесь пустую строку преобразовать в целое число, а это даже звучит глупо. "Решить проблему" можно с помощью условий( если пустая строка, то присвоить 0, например) или конструкции try except.
Ответ написан
Комментировать
@kirillinyakin
Значит, Вы пытаетесь преобразовать в целое число пустую строку
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы