python-strings-gate01.pptx
- Количество слайдов: 24
Обработка строк в Python август, 2016
Flashback • Задача: • можно ли вывести поочередно вывести на экран все цифры введенного числа по порядку, например если введено 153632, то должно быть выведено • 1 • 5 • 3 • 6 • 3
Компьютер думает числами
Все живое кодируется строками
Человек думает словами
Привет строки! • Текст состоит из символов: буквы, числа, знаки пунктуации и др. • Строка – это последовательность символов • пример: “John Smith” •
Как создавать строки? • • • Сохраннить в переменную отдельный символ: answer = “a” Или целую строку: “Mississippi” или то же самое 'Mississippi' Строки могут содержать пробелы и другие символы “fire truck” or ‘fire truck’ Многострочные строки a=''' Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. '''
Примеры
Объединение и повторение • Объединение строк • Vacation = “under”+”water” -- “underwater” • С пробелом • holiday = “Christmas”+ “ ”+”Tree” results in “Christmas Tree” • • • повторение – дефис = “-” * 25 – “-------------” целое
Number и String • str(): str(17) = “ 17” – max. Fall. Rate = str(9. 8)+” meters / sec” • “ 9. 8 meters / sec” – Integer: int(“ 17”) = 17 – Float: float(“ 17. 0 ”) = 17. 0 – house. Number = int(“ 15715”)
Strings and Characters • Получить доступ к отдельным символам в строке можно по месту которое они занимают • Это место называют индексом элемента • Хотя элементов 5, но последний имеет значение 4 • • 0 первый 1 2 3 4 последний
Строковые индексы 0 1 2 3 • name = “TILEZ” • len(name) = 5 • name[0] = “T”, name[4] = “Z” 4
Вывод символов строки word="python" for s in word: print (s) p y t h o n
Вспомним задачу можно ли вывести поочередно вывести на экран все цифры введенного числа по порядку? Д/З: вывести поочередно все цифры числа
Подсказка На экзамене по программированию преподаватель спрашивает студента: Как вскипятить чайник? Напишите алгоритм. Студент отвечает: 1 Взять чайник 2 Налить в чайник воду 3 Поставить чайник на плиту 4 Зажечь газ. Хорошо говорит преподаватель, а если у нас полный чайник стоит на плите, то как в этом случае будет выглядеть алгоритм? Студент: 1 Снять чайник с плиты 2 Вылить воду. После этого задача сводится к предыдушей.
Методы строк
Что python думает о строках print (ord(“a”))
Почему “python” не равно “python” a=chr(111) b=chr(1086) print (a, b) print (a==b) print (ord(a), ord(b))
Простой шифровщик текста на python mesg="I love python" coded="" for s in mesg: coded=coded+chr(ord(s)-1) print (coded) д/з: дописать в программу расшифровщик текста
Пишем минибота на python menu=["tea", "cookies", "eggs", "spam"] choice = "egg" if choice in menu: print ("we are happy give this to you") else: print ("sorry, we have no: ", choice, " now")
Д/З запросить название с клавиатуры, добавить в меню новые блюда, учесть, что одно и то же блюдо пользователи могут называть по-разному, учесть что пользователь может делать дополнительные пробелы и писать большими буквами продвинутый уровень: посчитать стоимость заказа, позволить пользователю заказать сразу несколько блюд, учесть опечатки пользователя
другие способы работы Извлечение среза Оператор извлечения среза: [X: Y]. X – начало среза, а Y – окончание; символ с номером Y в срез не входит. По умолчанию первый индекс равен 0, а второй - длине строки. >>> s = 'spameggs' s[3: 5] s[2: -2] s[: 6] s[1: ] s[: ] Кроме того, можно задать шаг, с которым нужно извлекать срез. s[: : -1] s[3: 5: -1] s[2: : 2]
First, Do It By Hand! Upon being handed a problem, you may first want to start coding – don’t! • • First solve the problem by hand. • • If you can’t do that, then you can’t code it.
Ввод чисел • input() возвращает переменную типа строка, если нужны математические операции, то строку нужно явно преобразовать num. Bottles = input("Please enter the number of bottles: ") bottles = int(num. Bottles) bottle. Price = input("Enter price per bottle: ") price = float(bottle. Price) • Image Credit: www. canstockphoto. com
python-strings-gate01.pptx