Строки и двоичные данные. Проверка типа содержимого строки

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

   
Для проверки типа содержимого строки предназначены следующие методы:

  • isalnum() - возвращает True, если строка содержит только буквы и (или) цифры, в противном
    случае - False. Если строка пустая, то возвращается значение False. Примеры:

  • isalpha() - возвращает True, если строка содержит только буквы, в противном случае -
    False. Если строка пустая, то возвращается значение False. Примеры:

  • isdigit () - возвращает True, если строка содержит только цифры, в противном случае - False:
  • isdecimal() - возвращает True, если строка содержит только десятичные символы,
    в противном случае - False. Обратите внимание на то, что к десятичным символам относятся не только
    десятичные цифры в кодировке ASCII, но и надстрочные и подстрочные десятичные цифры в других языках. Пример:

  • isnumeric() - возвращает True, если строка содержит только числовые символы, в противном
    случае - False. Обратите внимание на то, что к числовым символам относятся не только десятичные цифры в
    кодировке ASCII, но символы римских чисел, дробные числа и др. Пример:

  • isupper() - возвращает True, если строка содержит буквы только верхнего регистра,
    в противном случае - False:

  • islower() - возвращает True, если строка содержит буквы только нижнего регистра,
    в противном случае - False:

  • istitle() - возвращает True, если все слова в строке начинаются с заглавной буквы,
    в противном случае - False. Если строка пуста, также возвращается False. Примеры:

  • isprintable() - возвращает True, если строка содержит только печатаемые символы,
    в противном случае - False. Отметим, что пробел относится к печатаемым символам. Примеры:

  • isspace() - возвращает True, если строка содержит только пробельные символы, в противном
    случае - False:

  • isidentifier() - возвращает True, если строка представляет собой допустимое с точки
    зрения Python имя переменной, функции или класса, в противном случае - False:

   
Следует иметь в виду, что метод isidentifier() лишь проверяет, удовлетворяет ли заданное имя правилам языка.
Он не проверяет, совпадает ли это имя с ключевым словом Python. Для этого надлежит применять функцию
iskeyword(), объявленную в модуле keyword, которая возвращает True, если переданная ей
строка совпадает с одним из ключевых слов:

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

# -*- coding: utf-8 -*-
print("Введите слово 'stop' для получения результата")
summa = 0
while True:
    x = input("Введите число: ")
    if x == "stop":
        break # Выход из цикла
    if x == "":
        print("Вы не ввели значение!")
        continue
    if x[0] == "-": # Если первым символом является минус
        if not x[1:].isdigit(): # Если фрагмент не состоит из цифр
            print("Необходимо ввести число, а не строку!")
            continue
    else: # Если минуса нет, то проверяем всю строку
        if not x.isdigit(): # Если строка не состоит из цифр
            print("Необходимо ввести число, а не строку!")
            continue
    x = int(x) # Преобразуем строку в число
    summa += x
print("Сумма чисел равна: ", summa)
input()

Архив с файлом можно взять здесь.

   
Результат ее выполнения приведен на рисунке 1.


Рис.1. Результат выполнения программы

   
На следующем шаге мы рассмотрим тип данных bytes.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий