Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 69

Ограничение ввода буквенных значений для переменных

15.09.2021, 20:25. Показов 1321. Ответов 7

Студворк — интернет-сервис помощи студентам
Есть код. Нужно ограничть ввод дынных посредством try\except.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
a = input('Значение a: ')
A = int(a)
b = input('Значение b: ')
B = int(b)
c = input('Значение c: ')
C = int(c)
d = input('Значение d: ')
D = int(d)
if A == 0 and B == 0:
    print('INF')
elif A == 0 or B * C == A * D:
    print('NO')
elif B % A == 0:
    x = -B // A
    print(x)
else:
    print('NO')
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.09.2021, 20:25
Ответы с готовыми решениями:

Составить программу для ввода в диалоге значений переменных
Помогите пожалуйста решить задания!!! Задание 1. Составить программу для ввода в диалоге значений переменных А, I, С, L, Name и...

Составить программу для ввода в диалоге значений переменных
составить программу для ввода в диалоге значений переменных A, I, C, L, NAME и форматного вывода на экран введенных переменных A=0,095...

Ввод double, int значений и ограничение ввода char - значений
#include <iostream> using namespace std; template <typename Type> class Matrix { private: Type** mat; int...

7
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
15.09.2021, 20:52
Python
1
2
3
4
5
6
7
8
flag = True
while flag:
    a = input('Значение a: ')
    try:
        A = int(a)
        flag = False
    except ValueError:
        print('Введите целое число')
Ну и так для каждой вводимой переменной.
0
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 69
15.09.2021, 20:56  [ТС]
Так?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
flag = True
while flag:
    a = input('Значение a: ')
    try:
        A = int(a)
        flag = False
    except ValueError:
        print('Введите целое число')
flag = True
while flag:
    b = input('Значение b: ')
    try:
        B = int(a)
        flag = False
    except ValueError:
        print('Введите целое число')
 
flag = True
while flag:
    c = input('Значение c: ')
    try:
        C = int(a)
        flag = False
    except ValueError:
        print('Введите целое число')
flag = True
while flag:
    d = input('Значение d: ')
    try:
        D = int(a)
        flag = False
    except ValueError:
        print('Введите целое число')
 
if A == 0 and B == 0:
    print('INF')
elif A == 0 or B * C == A * D:
    print('NO')
elif B % A == 0:
    x = -B // A
    print(x)
else:
    print('NO')
С таким кодом все равно можно вводить буквы:
Значение a: g
Введите целое число
Значение a: 4
Значение b: d
Значение c: df
Значение d: f
NO
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
15.09.2021, 21:33
Цитата Сообщение от anton78spb Посмотреть сообщение
Ну и так для каждой вводимой переменной.
Цитата Сообщение от kindastan Посмотреть сообщение
С таким кодом все равно можно вводить буквы:
Такое понятие как "функция" вам знакомо?
Python
1
2
3
4
5
6
7
8
9
10
11
12
def user_input(msg):
    while True:
        try:
            return int(input(msg))
        except ValueError:
            print('Error. Try again.')
 
 
a = user_input('A: ')
b = user_input('B: ')
c = user_input('C: ')
d = user_input('D: ')
1
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
15.09.2021, 21:48
Цитата Сообщение от kindastan Посмотреть сообщение
С таким кодом все равно можно вводить буквы:
Вы забыли в блоках для b, c, d, поменять условие. У вас там B = int(a), а должно быть B = int(b). В остальных соответственно такая же опечатка.
1
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 69
16.09.2021, 09:22  [ТС]
Добрый день!
Прогнал прогу, получил ошибку такую:
Wrong answer was received for input:
a
b
c
d

Program crash found in your reply:

A: Введите числовое значение
A: Введите числовое значение
A: Введите числовое значение
A: Введите числовое значение
A: Traceback (most recent call last):
File "c:\infSystem\RobotTestsandUtils\Pylint\ task.py", line 13, in <module>
A = user_input('A: ')
File "c:\infSystem\RobotTestsandUtils\Pylint\ task.py", line 10, in user_input
return int(input(msg))
EOFError: EOF when reading a line

Finally:
Failed


Код программы:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def user_input(msg):
    """
      Функция
    """
    while True:
        try:
            return int(input(msg))
        except ValueError:
            print('Введите числовое значение')
A = user_input('A: ')
B = user_input('B: ')
C = user_input('C: ')
D = user_input('D: ')
if A == 0 and B == 0:
    print('INF')
elif A == 0 or B * C == A * D:
    print('NO')
elif B % A == 0:
    x = -B // A
    print(x)
else:
    print('NO')
С чем может быть проблема?
0
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
16.09.2021, 10:00
kindastan, давайте я сделаю вид, что не говорил вам этого, уже 3 раза.
Конкретно для вашей тестовой системы:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
try:
    a = input('Значение a: ')
    A = int(a)
    b = input('Значение b: ')
    B = int(b)
    c = input('Значение c: ')
    C = int(c)
    d = input('Значение d: ')
    D = int(d)
    if A == 0 and B == 0:
        print('INF')
    elif A == 0 or B * C == A * D:
        print('NO')
    elif B % A == 0:
        x = -B // A
        print(x)
    else:
        print('NO')
except ValueError:
    print('Бида, печаль, ничего не понятно, лапки')
0
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 69
16.09.2021, 10:53  [ТС]
Блин) Я понял свою ошибку. Я делал так, как ты говорил, но ничего не работало. А я отступы не соблюдал.. Теперь все заработало) спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.09.2021, 10:53
Помогаю со студенческими работами здесь

Составить программу для ввода в диалоге значений и форматного вывода на экран введенных переменных
Работа с файлами. Составить программу для ввода в диалоге значений переменных A, I, C, L, Name и форматного вывода на экран монитора...

Составить программу для ввода в диалоге значений переменных A, I, C, L, Name и форматного вывода на экран мони
Составить программу для ввода в диалоге значений переменных A, I, C, L, Name и форматного вывода на экран монитора введённых переменных. ...

Ограничение ввода значений
Добрый день.Возникла такая проблема:Необходимо ограничть диапазон вводимых значений в TextBox. К примеру 1-5

Как можно бы создать метод для ввода размерности (т.е. для ввода private переменных n,m)?
Как можно бы создать метод для ввода размерности (т.е. для ввода private переменных n,m)? ( что только я не пробывал: то переменные...

Составить программу ввода значений переменных заданного типа
Составить программу ввода значений переменных заданного типа и вывода результатов вычислений в стандартном и заданном формате (в...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru