Шаг 47.
Основы языка Python.
Строки и двоичные данные. Проверка типа содержимого строки

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

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

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

>>> import keyword
>>> keyword.iskeyword("else")
True
>>> keyword.iskeyword("elsewhere")
False

    Переделаем программу из 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.




Предыдущий шаг Содержание Следующий шаг