Уведомления

Группа в Telegram: присоединиться

#1 Янв. 16, 2020 10:02:45

IvanItterov
Зарегистрирован: 2020-01-16
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите сделать проверку на input

Такая проблема.

Хочу чтоб при input если тип равен int либо float выводило print ошибка

 n = input(»)
while type (n) != int:
    try:
        n = int(n)
    except ValueError:
        print(‘ошиб’)
        n = input(»)

( Т.е этот код ,когда будут вводить буквы то будет выдавать ошибку, как сделать также чтоб при вводе цифр выходила ошибка)

Отредактировано FishHook (Янв. 16, 2020 10:50:03)

Офлайн

#2 Янв. 16, 2020 11:47:31

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 216
Репутация: +  24  -
Профиль   Отправить e-mail  

Помогите сделать проверку на input

Насколько понимаю, задача исключить из ввода числовых значений?
Если да, то сделай функцию проверки, которая будет вызываться с значением из input.
Насколько знаю, input всегда возвращает только строку. При преобразовании строки во float абсолютно фиолетово: введена строка с целочисленным представлением или с “запятой”.
В функции достаточно сделать блок try для преобразования string во float. Если преобразование прошло успешно, вернуть False, если ошибка преобразования, тогда вернуть True. Далее действовать по полученному из функции результату.

Офлайн

#3 Янв. 16, 2020 16:48:59

IvanItterov
Зарегистрирован: 2020-01-16
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите сделать проверку на input

Rafik
Насколько понимаю, задача исключить из ввода числовых значений?Если да, то сделай функцию проверки, которая будет вызываться с значением из input.Насколько знаю, input всегда возвращает только строку. При преобразовании строки во float абсолютно фиолетово: введена строка с целочисленным представлением или с “запятой”.В функции достаточно сделать блок try для преобразования string во float. Если преобразование прошло успешно, вернуть False, если ошибка преобразования, тогда вернуть True. Далее действовать по полученному из функции результату.
Извини) Я не знаю функции все. Я только 4 день учу питон, поэтому) Ну мне надр показать код и объяснмть че да как

Офлайн

#4 Янв. 16, 2020 19:51:54

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 593
Репутация: +  68  -
Профиль   Отправить e-mail  

Помогите сделать проверку на input

IvanItterov
Т.е этот код ,когда будут вводить буквы то будет выдавать ошибку, как сделать также чтоб при вводе цифр выходила ошибка
а что вы хотите тогда вводить? символы ?

Офлайн

#5 Янв. 16, 2020 20:16:42

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 528
Репутация: +  25  -
Профиль   Отправить e-mail  

Помогите сделать проверку на input

я так понимаю try - except тут за место if - elif - else (зачем?)

 # получаем строку
n = input(»)
#проверяем тип тут if должен быть наверное
while type (n) != int:
    try:
	#если n не int делаем его им зачем
        n = int(n)
    except ValueError:
	#и если не получится это почему не получится то
        print(‘ошиб’)
        #сново ввод вы зциклить хотели наверное и где кавычки
        n = input(»)
#---------------------------------------------------------------
# я тоже из это ... новичков пэтому как новичек новичку
# бесконечный цикл с выходом по enter
while True:
	n = input("»")
	if n == "":
		break
# ну а что в строке с числами итд ... см. ниже

строка и ее методы
https://docs.python.org/3/library/string.html
или регэксп
https://docs.python.org/3/library/re.html?highlight=re#module-re

зы
IvanItterov
при вводе цифр выходила ошибка
те вам принт нужен или исключение поднять?



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

есчщо

Отредактировано AD0DE412 (Янв. 16, 2020 20:45:41)

Офлайн

#6 Янв. 17, 2020 06:22:54

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 216
Репутация: +  24  -
Профиль   Отправить e-mail  

Помогите сделать проверку на input

Примерно как-то так:

 def ne_chislo(stro):
    try:
        x = float(stro)
    except ValueError:
        return True
    return False
while True:
    n = input('>>')
    if ne_chislo(n):
        # если было введено число, то цикл вернёт пользователя на ввод значения
        # если НЕ числовое значение, прерываем цикл, т.е. идём далее
        break
    

Офлайн

#7 Янв. 17, 2020 10:59:18

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 528
Репутация: +  25  -
Профиль   Отправить e-mail  

Помогите сделать проверку на input

поправочка таки при int(str(“”)) вернет исключение



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

есчщо

Отредактировано AD0DE412 (Янв. 17, 2020 11:10:40)

Офлайн

#8 Март 8, 2020 11:48:13

Arushi
Зарегистрирован: 2020-03-07
Сообщения: 12
Репутация: +  -1  -
Профиль   Отправить e-mail  

Помогите сделать проверку на input

В функции достаточно сделать блок try для преобразования string во float. Если преобразование прошло успешно, вернуть False, если ошибка преобразования, тогда вернуть True. Далее действовать по полученному из функции результату.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version