1 / 1 / 0
Регистрация: 12.06.2022
Сообщений: 24

invalid literal for int Ошибка при вводе

07.03.2023, 11:15. Показов 1261. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Помогите пожалуйста разобраться с кодом, а именно цель следующая при вводе текста вместо числа, должно перехватываться исключением и говорить что "Вы ввели не допустимый символ".

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




Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
a = int(input('Введите целое число a =   ', ))
try:
       namber = int(a)
       print(namber)
except ValueError:
       print('Error: Вы ввели не допустимый символ!!!')
 
b = a % 2
 
if b == 0:
       print('вы ввели не четное число')
       print('функция возвращает значение // 2 , результат ниже')
       print(a//2)
else:
       print('Вы ввели не четное число')
       print('Функция произведет следующий расчет 3 * a + 1 ')
       c = (3 * a) + 1
       print(c)

Введите целое число a = z
Traceback (most recent call last):
File "C:\Users\Oleg\PycharmProjects\pythonPro ject\User1\new5.py", line 1, in <module>
a = int(input('Введите целое число a = ', ))
ValueError: invalid literal for int() with base 10: 'z'

Process finished with exit code 1
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.03.2023, 11:15
Ответы с готовыми решениями:

Ошибка: ValueError: invalid literal for int() with base 10
Всем привет! Есть код: while True: message = &quot;Введите возраст &quot; message += &quot;\nИли 'quit' для выхода: &quot; age =...

Ошибка ValueError: invalid literal for int() with base 10: ''
Не могу ввести две переменные подряд. Уже пять раз переписала все заново, удалила продолжение кода, перезапустила pycharm Ничего не...

Ошибка: ValueError: invalid literal for int() with base 10: 'ads'
number = int(input('Введи число: ')) try: print('Молодец!') except ValueError: print('Я сказал число так-то.') Почему...

9
Любознательный
 Аватар для YuS_2
6989 / 2141 / 349
Регистрация: 10.03.2016
Сообщений: 4,936
07.03.2023, 11:39
Лучший ответ Сообщение было отмечено lega1985 как решение

Решение

Цитата Сообщение от lega1985 Посмотреть сообщение
Но при запуске программы не перехватывается ошибка.
перехватываться будут исключения только внутри инструкции try
1
1699 / 568 / 74
Регистрация: 10.04.2009
Сообщений: 9,236
07.03.2023, 12:36
Цитата Сообщение от lega1985 Посмотреть сообщение
print('Error: Вы ввели не допустимый символ!!!')
а зачем такие сложности, чем не устроило:
if ....: print('Error: Вы ввели не допустимый символ!!!')
??
0
1 / 1 / 0
Регистрация: 12.06.2022
Сообщений: 24
07.03.2023, 13:46  [ТС]
Подскажите как тогда написать с if?
0
 Аватар для Semen-Semenich
5201 / 3452 / 1168
Регистрация: 21.03.2016
Сообщений: 8,280
07.03.2023, 13:49
lega1985,
Python
1
a = int(input('Введите целое число a =   ', ))
у вас уже возникло исключение о чем и сказано в ошибке что введено не число
Python
1
2
3
4
5
try:
       a = int(input('Введите целое число a =   ', ))
       print(namber)
except ValueError:
       print('Error: Вы ввели не допустимый символ!!!')
далее
Python
1
2
3
4
b = a % 2
 
if b == 0:
       print('вы ввели не четное число')
ой ли???
Python
1
2
3
>>> 10 % 2
0
>>>
мне кажется или я что то не понимаю но 10 самое четное число
0
1 / 1 / 0
Регистрация: 12.06.2022
Сообщений: 24
07.03.2023, 13:58  [ТС]
Наверное, я не так выразился или не понял.

Мне было не понятно сначало как правильно использовать try и except.
Сейчас исправил код как указали поместил в правило в try и дописал еще sys.exit().
Программа пошла.

Вы выше писали что можно написать по другому и запустить через if. То есть если введу текст программа переключится выдаст мое сообщение об ошибке.


Или я снова не так все понял? )
0
1699 / 568 / 74
Регистрация: 10.04.2009
Сообщений: 9,236
07.03.2023, 14:30
Цитата Сообщение от lega1985 Посмотреть сообщение
Подскажите как тогда написать с if?
У строк есть метод isdigit, который позволяет проверить, являются ли символы, из которых состоит строка цифрами. С помощью этого метода мы можем проверить, записано ли в строку целое положительное число или нет
Python
1
2
3
4
5
# метод isdigit() проверяет из каких символов состоит строка и возвращает булево (boolean) значение:
# True – в случае если строка состоит только из цифр
# False – в случае если строка пустая или в строке есть хотя бы один символ отличный от цифр
while not (x := input()).isdigit():
    print('Это не число, введите число:')
2
Python
1
2
3
4
5
6
7
8
9
def user_input(message):
    while True:
        try:
            return int(input(message))
        except ValueError:
            print('Error. Try again!=Ошибка. Попробуй снова!')
 
 
x = user_input('Введите число и нажмите Enter: ')
0
 Аватар для Semen-Semenich
5201 / 3452 / 1168
Регистрация: 21.03.2016
Сообщений: 8,280
07.03.2023, 18:20
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
записано ли в строку целое положительное число или нет
а как быть с отрицательными и дробными?
0
1699 / 568 / 74
Регистрация: 10.04.2009
Сообщений: 9,236
07.03.2023, 20:05
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
а как быть с отрицательными и дробными?
у ТС надо спросить - много чего ему ответили - пришла ли ясность.......
0
1 / 1 / 0
Регистрация: 12.06.2022
Сообщений: 24
08.03.2023, 21:41  [ТС]
Спасибо Товарищи, что объяснили и помогаете разобраться в теме.
Стало более менее ясно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.03.2023, 21:41
Помогаю со студенческими работами здесь

Ошибка кода: builtins.ValueError: invalid literal for int() with base 10
Вот мой код: m = int(input()) all_ = set(input() for i in range(m)) was = set(input() for j in range(int(input()))) not_absent =...

Ошибка "TValueError: invalid literal for int() with base 10:"
Пишет:-----Результат работы программы----- Traceback (most recent call last): File &quot;main.py&quot;, line 18, in &lt;module&gt; if...

ValueError: invalid literal for int()
input: 5 8 2 7 8 8 2 4 (через пробел). консоль выводит следующее: Traceback (most recent call last): File &quot;test.py&quot;,...

ValueError: invalid literal for int() with base 10: ''
k = 10 for i in range(10): x = int(input()) if (x &gt; 10): k = k + 1 print (k) Везде выдает ошибку x =...

ValueError: invalid literal for int() with base 10
Есть вот такой вот код, но здесь есть в чем то проблема. from math import sqrt n = int(input('N: ')) sigma = 0. for i in...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru