Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чаплыгин А.Н. Учимся програмировать вместе с Пи...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.69 Mб
Скачать

§7.5. Сравнение строк

Операторы сравнения работают и со строками. Когда возникает необходимость проверить равны ли две строки, можно выполнить ел едущее:

if

word ==

"banana"

print

"Yes, we

have

no

bananas

"

Другая операция сравнения полезна для упорядочивания слов в алфавитном порядке:

if word <

"banana":

print

"Your word,"

+ word + ",

comes

before banana."

elif word

> "banana":

print

"Your word,"

+ word + ",

comes

after banana."

else:

print

"Yes, we have

no bananas

! "

Но следует заметить, что Питон работает со строчными и заглавными символами несколько необычно для нас людей. Заглавная буква считается большей, чем любая строчная. В результате получаем:

Your word, Zebra, comes before banana.

Для решения этой проблемы можно конвертировать строку к стандартному виду, например, во все строчные символы до выполнения сравнения. Более сложная проблема -заставить программу понять, в чем заключаются отличия между зеброй и бананом.

§7.6. Строки нельзя изменить

Для изменения символа в строке логично было бы использовать оператор индексирования ([ ] ) слева от знака присваивания. Например:

greeting = "Hello, world!"

79

Ревизия: 170

Строки

greeting[0] = 'J' # ERROR!

print greeting

Но вместо ожидаемого вывода Jello, world!, этот код генерирует исключение:

TypeError: object doesn't support item assignment.

Это означает, что строки в Питоне не могут быть изменены частично - строковый тип эту операцию не предусматривает. Лучшее, что можно сделать - это создать новую строку, которая является измененным оригиналом:

greet

ing =

"Hello,

world!

H

newGr

seting

= 'J'

+ greet

ing

[1

]

print

newGr

eeting

Данное решение состоит в том, что бы сцепить новый символ со срезом строки greeting. Этот оператор не оказывает эффекта на начальную строку.

Упражнение. Напишите программу, заменяющую 5-й (если начинать считать по-человечески, т.е. с единицы) символ строки Hello, world! на восклицательный знак.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]