Форум программистов, компьютерный форум, киберфорум
Наши страницы

Python

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Блеф
> /dev/null
284 / 118 / 42
Регистрация: 14.05.2014
Сообщений: 767
#1

Как проверить строку на предмет цифр? - Python

01.02.2015, 15:52. Просмотров 3850. Ответов 4
Метки нет (Все метки)

Здравствуйте. Есть такой код

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
chet = 0
non = 0
 
while True:
    i = input('Введите число, для выхода введите = ')
 
    if i == '=':
        break;
    
    #тут нужна проверка
 
 
    if int(i) % 2 == 0:
        print('Число четное')
        chet += 1
    else:
        print('Число нечетное')
        non += 1
 
print("Вы ввели четных числе " + str(chet)+ ' Не четных '+str(non))
Есть вот такой код, если ввести любой символ кроме цифр или = то появляется ошибка преобразования.

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

Добавлено через 24 минуты
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
import re
 
chet = 0
non = 0
p = re.compile('[0-9]')
 
while True:
    i = input('Введите число, для выхода введите = ')
 
    if i == '=':
        break;
 
    if p.match(i) == None:
        print('Введент недопустимый символ')
        continue;
 
    if int(i) % 2 == 0:
        print('Число четное')
        chet += 1
    else:
        print('Число нечетное')
        non += 1
 
print("Вы ввели четных числе " + str(chet)+ ' Не четных '+str(non))
Пока сделал так, есть более "красивое" решение?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2015, 15:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как проверить строку на предмет цифр? (Python):

Как проверить строку на отсутствие символов из множества? - Python
Определить, содержит ли строка символы, отличные от букв и пробела напишите,пожалуйста,программу

Как вывести несколько текстовых изображений цифр в одну строку? - Python
У меня Python 3.2.5 Подскажите как мне сделать так что бы когда вводишь двухзначное число оно выводилось в строчку, а не в столбик!! ...

Проверить наличие в строке 10 цифр и отсутствие знака «?» - Python
Здравствуйте. Помогите, пожалуйста, написать регулярку (одной строкой), которая проверяет, что в строке есть 10 цифр, но нет символа "?"....

Как проверить строку на наличие не цифр - Arduino
Нужно получить из модема USSD ответ про номер своего телефона. К сожалению, не всегда получается ответи получить в готовой строке для...

Tree View. как проверить его содержимое на предмет уникальности при загрузке элементов с SQL 7 - Visual Basic
Замечательный элемент, но как проверить его содержимое на предмет уникальности при загрузке элементов с SQL 7, очень не хочется...

В группе из 200 студентов 75 изучают предмет А, 70 - предмет В, 75 – предмет С, 35 – изучают А и С, 20 – изуча - Логика и множества
В группе из 200 студентов 75 изучают предмет А, 70 - предмет В, 75 – предмет С, 35 – изучают А и С, 20 – изучают В и С, 25 – изучают А и...

4
alex925
2576 / 2227 / 529
Регистрация: 19.03.2012
Сообщений: 8,672
01.02.2015, 18:24 #2
Цитата Сообщение от bleef159 Посмотреть сообщение
Нужно копать в сторону регулярок или есть решения по лучше?
Что там, копать то? Одна строка и все:
Python
1
2
3
4
import re
inp = input()
if re.fullmatch('[0-9]*', inp) and inp:
    print('Все в порядке')
0
grisha7777
0 / 0 / 0
Регистрация: 02.02.2015
Сообщений: 1
02.02.2015, 00:13 #3
А может так:
Python
1
2
3
if not i.isdigit():
        print('Надо число')
        continue
0
0x10
2512 / 1690 / 255
Регистрация: 24.11.2012
Сообщений: 4,237
02.02.2015, 07:09 #4
Обработать исключение ValueError, генерируемое при попытке преобразования строки в число.
0
Andrey_Vl
0 / 0 / 0
Регистрация: 01.07.2017
Сообщений: 3
01.07.2017, 21:59 #5
проверка на вхождение любого символа из заданного списка в введенную строку
Python
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env python3.5
Temp = '0123456789.+-/=*'
while True:
    Str=input("введите строку: ")
    for CyclValue in Str :
        if CyclValue not in Temp :
            print("ошибка ввода")
            break
    else :
        break
print(Str)
0
01.07.2017, 21:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2017, 21:59
Привет! Вот еще темы с ответами:

Как проверить строку на валидность? - Assembler
В общем, нужно убедиться, что данная ASCIIZ-строка состоит только из латинских букв (строчных и прописных) и цифр. Как это сделать? Можно,...

Как проверить строку на содержание? - PHP
Мне вот такое вот нужно записать одной регуляркой: if (str1.Contains(" ") && !str1.Contains(@"\") && !str1.Contains(@"/") &&...

Как проверить строку в файле? - PHP БД
Как проверить существует ли такая строка в файле? $person = petya; file_get_contents($file); // как проверить есть ли такой...

Как проверить строку на буквы и числа? - JavaScript
Имеется строка field. Нужна функция, которая проверяет строку на содержание только букв и цифр. Как её составить? Что-то в этом...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.