Обложка Python 3

Python 3

Эджи

0% прочитано
Стандартный
Эджи

Python 3

Разветвления программистов

Сейчас мы разберем профессии программистов. Задания вы найдете в конце главы.

Программисты разделяются по деятельности на направления:

1) Web - разработчик; можно разделить на:

1. Backend - разработк

2. frontend - разработчик

3. Fullstack - девелопер

2) desktop - разработчик

3) Разработчик серверных приложений

4) Разработчик мобильных приложений

5) Программисты встраиваемых систем

6) Системное программирование

7) Разработчик игр

8) Олимпиадное программирование и решение задач

9) Программирование для бухгалтерских и финансовых продуктов

10) Программирование баз данных

11) Science

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

Вы должны научится искать информацию самостоятельно и эффективно, а я просто один из ваших источников информации. Поэтому, я вас немного подтолкну. Самое главное, что нужно сделать для поиска первого языка, это:

- Узнать о направлениях программирования; Чем в них занимаются и на каких языках.

- Попробовать основы языков из этого направления(можно попробовать их, не скачивая); Узнать о преимуществах и недостатках каждого из них.

- Послушать мнение программистов.

Я обещал вам задания. Изначально, думал не делать его, но решил дать вам пару тем.

Задание на практику: Присмотреть для себя направление и пару языков; Ответить на вопрос - "Кто для вас программист", но сами; Найти определения каждого пункта.

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

1. Hello World и переменные

Для программирования на Python, как не странно, нужно скачать его. Также, можно делать это через интернет. Где именно писать код, выберите сами.

Иногда, я работаю тут:https://replit.com/

Hello World - это первая программа, которую пишет каждый. Она выводит на экран "Hello Word ".

Она пишется очень просто. Нам нужно напечатать 1 строчку кода.

Создайте новый проект и напишите:

print("Hello World")

*Текст нужно печатать в кавычках*

В скобки мы помещаем данные - с которыми нужно совершить работу. Также, можно помещать другие команды/функции/переменные и т. Д. Пример:

print(int("28"))

Переменные

Самое лучшее объяснение из тех, что я слышал: "Переменные можно сравнить с коробками. В коробку можно поместить какой-то предмет, а в переменную какое-то значение.

Мы создадим переменную number и присвоим ей значение 5:

number = 5

Создадим переменную str и присвоим ей значение "строка":

str ="строка"

Внутри переменной можно - умножать, делить, складывать, вычитать, соединять. В Python можно это делать почти везде.

Пример 1:

str1 ="При"

str2 ="вет"

str3 ="!"

str4 = str2 + str3

print(str1 + str4)

print(str1, str4)

Вывод:

Привет!

При вет!

В первом примере - все переменные типа string.

Пример 2:

int1 =2

int2 =3

int3 = int1 + int2

int2 = int2 * 3

print(int1, int2, int3)

print(int1 + int2 + int3)

Вывод:

2 9 5

16

Во втором примере - все переменные типа int.

*Если поставить знак " + ", то данные складываются или соединяются . Если поставить знак " , " (запятая) , то данные соединяются через пробел.*

Пример 3:

print(5 + "ваз.")

В этом случае - будет ошибка.

Если поменять код, то он будет работать.

Пример 4:

print("5" + "ваз.")

Вывод: 5ваз

Или через запятую.

print(5, "ваз")

Вывод: 5 ваз

*Можно использовать любое имя для переменной. Главное это: первый знак - это буква; без пробелов. *

Пример 5:

print("Пти" + 'ца')

Вывод: Птица

Пример 6:

print(-3 * 2)

Вывод: -6

print(-2 * -4)

Вывод: 8

Пример 7 :

а, b, c = 7, 90, 4

print( a )

print( b )

print( c )

Вывод:

7

90

4

Основные типы переменных

int - числа (a =5)

string - текст (a ="Розовый узел")

Остальные будем проходить походу дела.(int и string были в этой славе)

Меняем тип переменных

str1 ="5"

print(int(str1) + 3)

number = 4

print(str(number), "стула.")

Перепишите и запустите код.

int( ) - меняет тип на int.

str( ) - меняет тип на string.

Задания на практику

Перепишите и запустите каждый код. ( поможет лучше запомнить )

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

2. Тип float

Тип float

Тип float - отрицательные и положительные числа с плавающей точкой. Его нельзя нельзя использовать с типом string.

Пример 1 (int + float):

int_1 =9

float_1 =2.1

print(int_1 + float_1)

Вывод: 11.1

Пример 2 (string + float):

string_1 = "1.5"

float_1 =2.5

print(float(string_1) + float_1)

Вывод: 4.0

float( ) - меняет тип на float. (из "1.5" в 1.5)

Есть две бутылки по 1.5 литра. Вывести на экран - "В бутылках ... литра воды".

Пример 3:

liters =1.5

bottles =2

summa = int(liters * bottles)

print("В бутылках " + str(summa) + " литра воды.")

Вывод: В бутылках 3 литра воды.

Если написать команду "print(1.5 * 2)" , то Python выведет - "3.0".

Мы добавили команду int( ). (меняет тип на int - целые числа ) ( из 3.0 в 3 )

Пример 4:

summa =1.2 + 1.1 ( тут 2.3)

print(int(summa)) (тут 2)

Вывод: 2

Мы добавили команду int( ). ( из 2.3 в 2 )

Пример 5:

print(-5.3 * 2)

Вывод: -10.6

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

3. Алгебраические операции и приоритет их выполнения в Python.

Алгебраические операции

Сложение - "+".

Вычитание - "-".

Умножение - "*".

Деление - "/". (ответом всегда будет - float)

Возведение в степень - "**".

print(5**2)

Вывод: 25

print(10** -2)

Вывод: 0.01

Остаток от деления - "%":

print(8%3)

Вывод: 2

print(8%2)

Вывод: 0

Целая часть от деления - "//":

print(8 //3)

Вывод: 2

Присваивание - "=".

Равно - "==".

Не равно - "!=".

Больше - ">".

Меньше - "<".

Меньше или равно - "<=".

Больше или равно - ">=".

Приоритет выполнения операций:

1)Скобки

2)Возведение в степень **

3) * / // %

4)+ -

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

4. Списки

Списки

Это последовательности чисел, строк или каких-то ещё значений.

Мы уже присваивали переменным числовые и строковые значения, точно так же создаются списки.

list_1 = [элемент, элемент, элемент, ... , элемент]

list_1 = [34, 'hi', "2", 78.3, 43]

Можно хранить списки в списках.

Пример 1:

int_1 =34

list_1 = [78.4, "роза", int_1, 44, 'полка']

list_2 = [list_1, 23]

print(list_2)

Вывод: [[78.4, 'роза', 33, 44, 'полка'], 23]

Разбор:

Во второй строке: int_1 имеет значение 34 => int_1 заменяется на 34.

В третей строке: list_1 имеет значение [78.4, "роза", int_1, 44, 'полка'], а точнее ровна [78.4, "роза", 33, 44, 'полка'] => list_1 заменяется на [78.4, "роза", 33, 44, 'полка'].

В четвертой строке: list_2 имеет значение [list_1, 23], а точнее ровна [[78.4, "роза", 33, 44, 'полка'], 23] => list_2 заменяется на [[78.4, "роза", 33, 44, 'полка'], 23].

Названия переменных(пример: int_1, list_1, list_2) - как ссылки.

В выводе: [[78.4, "роза", 33, 44, 'полка'], 23] (это то, что мы хотели вывести) заменяется на [[78.4, 'роза', 33, 44, 'полка'], 23] (итоговый вывод). При выводе " заменяется на ' .

* => - из этого следует*

Пример 2:

print([67, 'p', 883])

Вывод: [67, 'p', 883]

Индекс - порядковый номер элемента в списке.

Обратится к определенному элементу:

Имя списка[индекс элемента]

Счёт в списках начинается с нуля.

Пример 3:

list_1 = [56, 7, "h", 78, 0, 'p']

print(list_1[0]) (Вывести элемент с индексом 0 из списка list_1)

print(list_1[1]) (Вывести элемент с индексом 1 из списка list_1)

print(list_1[2]) (Вывести элемент с индексом 2 из списка list_1)

print(list_1[3]) (Вывести элемент с индексом 3 из списка list_1)

print(list_1[4]) (Вывести элемент с индексом 4 из списка list_1)

print(list_1[5]) (Вывести элемент с индексом 5 из списка list_1)

Вывод:

56

7

h

78

0

p

Пример 4:

list_1 = [56, 7, "h", 78, 0, 'p']

index = 3

print( list_1[ index ] )

Вывод: 78

Разбор:

В третей строке: index имеет значение 3 => list_1[index] заменяется на list_1[3].

Можно проводить вычисления, вложив их в список.

Пример 5:

list_1 = [2 + 3, 8 * 2, 8 / 4, 4 ** 2, 8 // 3, 8 % 3, "в" + 'о']

print(list_1)

Вывод: [5, 16, 2.0, 16, 2, 2, 'во']

Можно объединить.

Пример 6:

list_1 = [4, 8, 0]

list_2 = [6, 0, 9]

print(list_1 + list_2 + [7])

Вывод: [4, 8, 0, 6, 0, 9, 7]

Элементы могут повторяться

Пример 7:

print([3, 5] + [7, 9])

Вывод: [3, 5, 7, 9]

Меняем тип на list:

print(list(34))

Вывод:

ошибка

print(list(67.9))

Вывод:

ошибка

print(list("море"))

Вывод:

['м', 'о', 'р', 'е']

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

5. len() - вычеслить длину.

len() - вычислить длину.

Len() и списки.

Пример 1:

list_1 = [78, "k", "L", 4, 89, 'hi']

length = len(list_1)

print("В списке", length, "элементов.")

Вывод: В списке 6 элементов.

Разбор:

Во второй строке: len() выдает число 6 (длину списка) => length =6 , а точнее length = int .

В третей строке: string, int, string работает, а string + int + string выводит ошибку. (разные типы)

len() и тип int.

Пример 2:

Print(len(500))

Вывод: ошибка

len() и тип string.

Пример 4 :

print(len("белый снег"))

Вывод: 10

len() учитывает пробел.

len() и тип float.

Пример 5:

print(len(87.4))

Вывод: ошибка

Но у меня есть лайфхак.

Пример 6:

string =str(7.34)

length = len(string)

Print(length - 1)

Вывод: 3

Разбор:

1) Меняем тип на string. Из 7.34 в "7.34".

2) Считываем длину с "7.34". (будет 4) len() - учитывает точку .

3) Если нужно не учитывать точку то, вычетам один.

Ответ - 3 числа.

Это был пример, а я пишу так:

print( len( str( 7.34 ) ) - 1 )

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

6. input() - Ввод с клавиатуры

(Для удобства: ">>" - написано в консоли(место, куда print() выводит данные))

input() - Пользовательский ввод

inout() получает вводные данные, обрабатывает их и выдает результат.

input("текст")

Пример 1:

name = input("Ваше имя?: ")

print("Привет, " + name)

Вывод :

>> Ваше имя?: Максим (вывод - "Ваше имя?: ")(мы ввели - "Максим")

>> Привет, Максим (print() вывел - "Привет, Максим")

Обратите внимание:

1) Код: Доходит до input(), выводит текст - "Выше имя?: ", делает паузу и ждёт.

2) Вы: Пишете текст - "Максим".

3) Код: Ждёт.

4) Вы: Нажимаете на Enter.

5) Код: Считывает текст, присваивает его переменной name, продолжает работу.

input() всегда возвращает текст (тип string)

пример 2:

age =input("Сколько вам лет?: ")

print(type(age))

>> Сколько вам лет?: 15 (Мы ввели)

>> <class 'str'> (print() вывел)

Разбор:

1) Вы: Ввели "15" в консоль.

2) Код: Считывает его с консоли. (в виде типа str)

3) Код: Говорит, что что переменная age имеет тип str. (<class 'str'>)

type() - Узнает тип.

Оставим скобки пустыми.

Пример 3:

a = input()

print("Вывод:", a)

>> 5 сот

>> Вывод: 5 сот

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

7. type() - узнаёт тип.

type() возвращает тип объекта, который мы ей передаём.

Всё очень просто.

type(объект)

Пример 1:

str_1 ="кот"

t =type(str_1)

print(t)

>> <class 'str'>

Пример 2:

int_1 =56

print(type(int_1))

>> <class 'int'>

Пример 3:

float_1 =8.2

qwe = type(float_1)

print(qwe)

>> <class 'float'>

Возьмём тип:

Пример 4:

print(type(int))

print(type(str))

print(type(float))

>> <class 'type'>

>> <class 'type'>

>> <class 'type'>

Зайдём ещё дальше и возьмём type:

Пример 5:

print(type(type))

>> <class 'type'>

Ну... вы поняли.

type() и списки:

Пример 6:

list_1 = [89, "o", 3, "ok"]

print(type(list_1))

print(type(list_1[1])) (элемент под индексом 1("o"))

>> <class 'list'>

>> <class 'str'>

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

8. isinstance() и тип bool

Тип bool

boolean может принимать только одно из двух значений:

- True ( Истина )

- False ( ложь )

type( ) - Какой тип у объекта. Возвращает str ( string ).

isinstance( ) - Принадлежит ли объект данному типу. Возвращает bool ( boolean ).

isinstance( элемент, тип )

Пример 1:

str_1 ="blue"

print( isinstance( str_1, str ) )

print( isinstance( str_1, int ) )

print( isinstance( str_1, float ) )

print( isinstance( str_1, bool ) )

print( isinstance( str_1, type ) )

print( isinstance( str_1, list ) )

>> True

>> False

>> False

>> False

>> False

>> False

Разбор:

( 1 строка ) Переменная str_1 имеет значение "blue".

( 2 строка ) isinstance : "blue" имеет тип str.

( 3 строка ) isinstance : "blue" не имеет тип int.

( 4 строка ) isinstance : "blue" не имеет тип float.

( 5 строка ) isinstance : "blue" не имеет тип bool.

( 6 строка ) isinstance : "blue" не имеет тип type.

( 7 строка ) isinstance : "blue" не имеет тип list.

Пример 2 :

int_1 =34

print( isinstance( int_1, str ) )

print( isinstance( int_1, int ) )

print( isinstance( int_1, float ) )

print( isinstance( int_1, bool ) )

print( isinstance( int_1, type ) )

print( isinstance( int_1, list ) )

>> False

>> True

>> False

>> False

>> False

>> False

Разбор :

( 1 строка ) Переменная int_1 имеет значение 34.

( 2 строка ) isinstance : 34 не имеет тип str.

( 3 строка ) isinstance : 34 имеет тип int.

( 4 строка ) isinstance : 34 не имеет тип float.

( 5 строка ) isinstance : 34 не имеет тип bool.

( 6 строка ) isinstance : 34 не имеет тип type.

( 7 строка ) isinstance : 34 не имеет тип list.

Пример 3 :

print( isinstance( 45.2, str ) )

print( isinstance( 45.2, int ) )

print( isinstance( 45.2, float ) )

print( isinstance( 45.2, bool ) )

print( isinstance( 45.2, type ) )

print( isinstance( 45.2, list ) )

>> False

>> False

>> True

>> False

>> False

>> False

Разбор :

( 1 строка ) isinstance : 45.2 не имеет тип str.

( 2 строка ) isinstance : 45.2 не имеет тип int.

( 3 строка ) isinstance : 45.2 имеет тип float.

( 4 строка ) isinstance : 45.2 не имеет тип bool.

( 5 строка ) isinstance : 45.2 не имеет тип type.

( 6 строка ) isinstance : 45.2 не имеет тип list.

Пример 4 :

t = True

print( isinstance( t, str ) )

print( isinstance( t, int ) )

print( isinstance( t, float ) )

print( isinstance( t, bool ) )

print( isinstance( t, type ) )

print( isinstance( t, list ) )

>> False

>> True

>> False

>> True

>> False

>> False

Разбор :

( 1 строка ) Переменная t имеет значение True.

( 2 строка ) isinstance : True не имеет тип str.

( 3 строка ) isinstance : True имеет тип int. ( Обратите внимание! )

( 4 строка ) isinstance : True не имеет тип float.

( 5 строка ) isinstance : True имеет тип bool.

( 6 строка ) isinstance : True не имеет тип type.

( 7 строка ) isinstance : True не имеет тип list.

Пример 5 :

f = False

print( isinstance( f, str ) )

print( isinstance( f, int ) )

print( isinstance( f, float ) )

print( isinstance( f, bool ) )

print( isinstance( f, type ) )

print( isinstance( f, list ) )

>> False

>> True

>> False

>> True

>> False

>> False

Разбор :

( 1 строка ) Переменная f имеет значение False.

( 2 строка ) isinstance : False не имеет тип str.

( 3 строка ) isinstance : False имеет тип int. ( Обратите внимание! )

( 4 строка ) isinstance : False не имеет тип float.

( 5 строка ) isinstance : False имеет тип bool.

( 6 строка ) isinstance : False не имеет тип type.

( 7 строка ) isinstance : False не имеет тип list.

Пример 4 : True имеет тип int и тип bool.

Пример 5 : False имеет тип int и тип bool.

Пример 6 :

t = True

print( type( t ) )

>> <class 'bool'>

Пример 7 :

print( type( False ) )

>> <class 'bool'>

Пример 6 : True имеет тип bool ( не тип int ).

Пример 7 : False имеет тип bool ( не тип int ).

Но! True и False имеют тип bool который является подтипом int. ( примеры 4 и 5 )

True= 1

False =0

При этом :

Пример 8 :

b = bool

t =type( b )

print( t )

>> <class 'type'>

Пример 9 :

List_1 = [90, "f", " ", 0]

print( isinstance( List_1, str ) )

print( isinstance( List_1, int ) )

print( isinstance( List_1, float ) )

print( isinstance( List_1, bool ) )

print( isinstance( List_1, type ) )

print( isinstance( List_1, list ) )

>> False

>> False

>> False

>> False

>> False

>> True

Разбор :

( 1 строка ) Переменная list_1 имеет значение [90, "f", " ", 0] ( список ).

( 2 строка ) isinstance : список не имеет тип str.

( 3 строка ) isinstance : список не имеет тип int.

( 4 строка ) isinstance : список не имеет тип float.

( 5 строка ) isinstance : список не имеет тип bool.

( 6 строка ) isinstance : список не имеет тип type.

( 7 строка ) isinstance : список имеет тип list. ( ! )

Пример 10 :

type1 = type

print( isinstance( type1, str ) )

print( isinstance( type1, int ) )

print( isinstance( type1, float ) )

print( isinstance( type1, bool ) )

print( isinstance( type1, type ) )

print( isinstance( type1, list ) )

>> False

>> False

>> False

>> False

>> True

>> False

Разбор :

( 1 строка ) Переменная type1 имеет значение type.

( 2 строка ) isinstance : type не имеет тип str.

( 3 строка ) isinstance : type не имеет тип int.

( 4 строка ) isinstance : type не имеет тип float.

( 5 строка ) isinstance : type не имеет тип bool.

( 6 строка ) isinstance : type имеет тип type.

( 7 строка ) isinstance : type не имеет тип list.

Попробуем типы.

Пример 11 :

list2 = list

print( isinstance( list2, str ) )

print( isinstance( list2, int ) )

print( isinstance( list2, float ) )

print( isinstance( list2, bool ) )

print( isinstance( list2, type ) )

print( isinstance( list2, list ) )

>> False

>> False

>> False

>> False

>> True

>> False

Разбор :

( 1 строка ) Переменная list2 имеет значение list.

( 2 строка ) isinstance : list не имеет тип str.

( 3 строка ) isinstance : list не имеет тип int.

( 4 строка ) isinstance : list не имеет тип float.

( 5 строка ) isinstance : list не имеет тип bool.

( 6 строка ) isinstance : list имеет тип type.

( 7 строка ) isinstance : list не имеет тип list. ( ! )

Пример 12 :

bool_1 = bool

print( isinstance( bool_1, str ) )

print( isinstance( bool_1, int ) )

print( isinstance( bool_1, float ) )

print( isinstance( bool_1, bool ) )

print( isinstance( bool_1, type ) )

print( isinstance( bool_1, list ) )

>> False

>> False

>> False

>> False

>> True

>> False

Разбор :

( 1 строка ) Переменная bool_1 имеет значение bool.

( 2 строка ) isinstance : bool не имеет тип str.

( 3 строка ) isinstance : bool не имеет тип int. ( ! )

( 4 строка ) isinstance : bool не имеет тип float.

( 5 строка ) isinstance : bool не имеет тип bool. ( ! )

( 6 строка ) isinstance : bool имеет тип type.

( 7 строка ) isinstance : bool не имеет тип list.

Пример 13 :

float_1 = float

print( isinstance( float_1, str ) )

print( isinstance( float_1, int ) )

print( isinstance( float_1, float ) )

print( isinstance( float_1, bool ) )

print( isinstance( float_1, type ) )

print( isinstance( float_1, list ) )

>> False

>> False

>> False

>> False

>> True

>> False

Разбор :

( 1 строка ) Переменная float_1 имеет значение float.

( 2 строка ) isinstance : float не имеет тип str.

( 3 строка ) isinstance : float не имеет тип int.

( 4 строка ) isinstance : float не имеет тип float. ( ! )

( 5 строка ) isinstance : float не имеет тип bool.

( 6 строка ) isinstance : float имеет тип type.

( 7 строка ) isinstance : float не имеет тип list.

Пример 14 :

str_1 = str

print( isinstance( str_1, str ) )

print( isinstance( str_1, int ) )

print( isinstance( str_1, float ) )

print( isinstance( str_1, bool ) )

print( isinstance( str_1, type ) )

print( isinstance( str_1, list ) )

>> False

>> False

>> False

>> False

>> True

>> False

Разбор :

( 1 строка ) Переменная str_1 имеет значение str.

( 2 строка ) isinstance : str не имеет тип str. ( ! )

( 3 строка ) isinstance : str не имеет тип int.

( 4 строка ) isinstance : str не имеет тип float.

( 5 строка ) isinstance : str не имеет тип bool.

( 6 строка ) isinstance : str имеет тип type.

( 7 строка ) isinstance : str не имеет тип list.

Пример 15 :

int_1 = int

print( isinstance( int_1, str ) )

print( isinstance( int_1, int ) )

print( isinstance( int_1, float ) )

print( isinstance( int_1, bool ) )

print( isinstance( int_1, type ) )

print( isinstance( int_1, list ) )

>> False

>> False

>> False

>> False

>> True

>> False

Разбор :

( 1 строка ) Переменная int_1 имеет значение int.

( 2 строка ) isinstance : int не имеет тип int.

( 3 строка ) isinstance : int не имеет тип int. ( ! )

( 4 строка ) isinstance : int не имеет тип float.

( 5 строка ) isinstance : int не имеет тип bool.

( 6 строка ) isinstance : int имеет тип type.

( 7 строка ) isinstance : int не имеет тип list.

Тип bool

bool и int

Пример 16 :

print( True + 4 )

>> 5 ( True=1 )

Пример 17 :

print( False * True )

>> 0

Разбор :

False=0 , а True=1 . => False * True=0 * 1=0

Пример 18 :

print( int( True ) )

print( int( False ) )

>> 1

>> 0

bool и str

Пример 18 :

print( True, "равен 1" )

>> True равен 1

Пример 19 :

print( False + " равен 0" )

>> Ошибка

print( str( False ) + " равен 0" )

>> False равен 0

Меняем тип на bool

bool( ) - меняет тип на bool

bool( ) вернет True :

- непустая строка ( в том числе если это один или несколько пробелов )

- числа не равные нулю ( 10, -89, -3, 56, 0.1 )

- непустой список ( даже если он содержит один пустой элемент, например пустой список )

bool( ) вернет False :

- пустая строка

- пустой список

- 0 или 0.0

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

9. if / elif / else

Знак "| - - " - 1 отступ в коде

Задача 1. Если число больше 7, то вывести список.

if - если

if условие:

| - - код

Код внутри оператора if, пишется с отступом ( кнопка с двумя стрелками или с надписью Tab ) .

Условие возвращает тип bool.

Пример 1 :

list_1 = [90, "dog", 6.89, 'g']

if10 > 7 :

| - - print( list_1 )

print( "Конец" )

>> [90, 'dog', 6.89, 'g']

>> Конец

Разбор :

1) Условие ( 10>7 ) говорит оператору if, что оно верное =>True

2) Если условие равно True, то if выполняет код, который мы в него вложили ( print( ) выводит список ) .

3) Второй print( ) не входит в if ( это заметно так, как перед ним нет отступа ) и будет работать в любом случае.

Пример 2 :

list_1 = [90, "dog", 6.89, 'g']

if5>7 :

| - - print( list_1 )

print( "Конец" )

>> Конец

Разбор :

1 ) Условие ( 5>7 ) говорит оператору if, что оно не верное => False

2 ) Если условие равно False, то if не выполняет код.

3 ) Второй print( ) не входит в if ( это заметно так, как перед ним нет отступа ) и будет работать в любом случае.

Задача 2. Если длина списка ровна 4, то вывести текст - "Условие верное". Если нет, то вывести текст - "Длина списка не ровна 4".

else - иначе

if условия :

| - - код

else :

| - - код

else работает вместе с if или if / elif, но не в одиночку.

Пример 3 :

else :

| - - print( 7 )

>>ошибка

Пример 4 :

list_2 = [78, 0, "op", 9]

if len( list_2 ) ==4 :

| - - print( "Условие верное" )

else :

| - - print( "Длина списка не ровна 4" )

>> Условие верное

Разбор :

1 ) условие ( len( list_2 ) ==4 ) равно True.

== оператор сравнения.

len( list_2 ) , длина списка, равен 4.

Сравниваем длину и 4 ( 4==4 ) . 4 ровна 4.

2 ) Если условие ровно True, то if выполняет свой код, а else пропускается.

Пример 5 :

list_2 = [78, 0, "op"]

if len( list_2 ) == 4 :

| - - print( "Условие верное" )

else :

| - - print( "Длина списка не ровна 4" )

>> Длина списка не ровна 4

Разбор :

1 ) условие ( len( list_2 ) ==4 ) равно False.

== оператор сравнения.

len( list_2 ), длина списка, равен 3.

Сравниваем длину и 4 ( 3==4 ) . 3 не ровна 4.

2 ) Если условие ровно False, то if не выполняет свой код, а else выполняет свой код.

Задача 3. Дима, Катя, Миша и Рома были участниками в велогонке, в котором 3 выигрышных места.

Если 1 место списка лидеров занимает Миша, то вывести текст - "Миша первый". Если он занимает второе место, то вывести текст - "Миша второй". Если он занимает третье место, то вывести текст - "Миша худший из лучших". Если он занял 4 место, то вывести текст - "ещё чуть-чуть". Если не 1, не 2, не 3 и не 4, то вывести текст - "В следующий раз".

elif - иначе, если.

if условие1 :

| - - Код

elifусловие2 :

| - - Код

elif работает вместе с if.

Пример 6 :

elif7==2 :

| - - print( 90 )

>>ошибка

Пример 7 :

list1 = ["Миша", "Катя", "Миша", "Рома", "Никита", "Вика", "Дима", "Слава", "Маша"]

name = "Миша"

if list1 [ 0 ] == name :

| - - print( "Миша первый" )

elif list1[ 1 ] == name :

| - - print( "Миша второй" )

elif list1[ 2 ] == name :

| - - print( "Миша худший из лучших" )

elif list1[ 3 ] == name :

| - - print( "ещё чуть-чуть" )

else :

| - - print( "В следующий раз" )

>> Миша первый

Имя Миша на 1 и 3 месте, но говорят только о 1.

elif - иначе, если.

Условие, записанное в if, равно True. Это значит, что иного случая быть не может.

Поменяйте значение name и повторите.

Можно, не использовать elif :

Пример 8 :

list1 = ["Миша", "Катя", "Миша", "Рома", "Никита", "Вика", "Дима", "Слава", "Маша"]

name = "Миша"

if list1[ 0 ] == name :

| - - print( "Миша первый" )

else :

| - - if list1[ 1 ] == name :

| - - | - - print( "Миша второй" )

| - - else :

| - - | - - if list1[ 2 ] == name :

| - - | - - | - - print( "Миша худший из лучших" )

| - - | - - else :

| - - | - - | - - if list1[ 3 ] == name :

| - - | - - | - - | - - print( "ещё чуть-чуть" )

| - - | - - | - - else :

| - - | - - | - - | - - print( "В следующий раз" )

>> Миша первый

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

10. Цикл for

Цикл for - перебирает элементы данного ему объекта.

Форма записи:

for переменная in объект :

| - - код

Задача 1 :

Есть список с датами дней недели. ( вторник - 12 число )

Была обнаружена ошибка - между записанными датами и настоящими разница в два дня.

Исправьте ошибку, прибавив к каждому элемента списка число 2.

Вы можете использовать индексы.

Пример 1 :

List_1 = [ 11, 12, 13, 14, 15, 16, 17 ]

List_1 [ 0 ] +=2

List_1 [ 1 ] +=2

List_1 [ 2 ] +=2

List_1 [ 3 ] +=2

List_1 [ 4 ] +=2

List_1 [ 5 ] += 2

List_1 [ 6 ] +=2

print( List_1 )

Вывод:

>>> [13, 14, 15, 16, 17, 18, 19 ]

a =4

a += 2 ( прибавить к a число 2 )

Но! Что вы будете делать, если вы не знаете, что в списке 7 дней?

Пример 2 :

List_1 = [ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

list_2 = [ ]

for day in List_1 :

| - - day +=2

| - - list_2.append(day)

print( list_2 )

Вывод:

>>>[ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 ]

Разбор :

Цикл for по очереди берёт элементы списка, а затем присваивает переменной day, выполняя код внутри.

Задача 2 :

Есть список с буквами алфавита.

Выведите их по очереди в виде :

> > > " Е " - 6 буква алфавита.

Задача 3 :

Есть 2 списка. В первом все буквы алфавита большие ( А Б В ), а во втором маленькие ( а б в ).

Выведите каждую букву по очереди в виде :

> > > " Е е " - 6 буква алфавита.

В задачах 2 и 3:

- Все буквы в алфавитном порядке.

- Вы решаете сами.

- Моё решение будет в следующей главе.

- На тему этой главы.

Задание 3 на оригинальность.

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

11. range()

Задачи 2 и 3 ( из прошлой главы ) будут ближе к концу главы.

Раз уж рассказал о цикле for, то упомяну и про range( ).

range( ) - диапазон.

Задача 1 :

Выведите все числа <100.

Вы уже можете решить эту задачу способами из 1 и 2 примера.

Пример 1 :

print( 0 )

print( 1 )

print( 2 )

. . .

print( 99 )

Пример 2 :

list_1 = [ 0, 1, 2, . . . , 99]

for namber in list_1 :

| - - print( namber )

range( ) упростит нам задачу.

Пример 3 :

for namber in range( 100 ) :

| - - print( namber )

Вывод :

>>> 0

>>> 1

>>> 2

. . .

>>> 99

range( ) принимает 2 основных числа.

Пример 4 :

for namber in range( 3, 5 ) :

| - - print( namber )

Вывод :

>>> 3

>>> 4

Разбор :

3 - первое число. 5 - второе число.

Представь, что range( ) создаёт диапазон, основываясь на этих числах.

Диапазон начинается с 3 и все числа в нём меньше 5.

Пример 5 :

for namber in range( 5 ) :

| - - print( namber )

Вывод :

>>> 0

>>> 1

>>> 2

>>> 3

>>> 4

Разбор :

Если мы передадим только одно число, то range( ) примет его за второе.

5 - второе число.

Представь, что range( ) создаёт диапазон, основываясь на этих числах.

Диапазон состоит из чисел, которые меньше 5.

Задача 2 :

2<= X <13

При каком значении X, неравенство будет верным, а каждый X будет на 4 больше предыдущего.

Пример 7 :

for namber inrange( 2, 13, 4 ) :

| - - print( namber )

Вывод :

> > > 2

> > > 6

> > > 10

Я подчеркнул, что range( ) принимает 2 основных числа, а 3 будет расстоянием.

3 число, может быть, отрицательным и положительным.

Задача 3 :

Создайте список чисел с разницей в 3.

Пример 8 :

List_1 = list( range( 4, 20, 3 ) )

print( List_1 )

Вывод :

> > > [ 4, 7, 10, 13, 16, 19 ]

list( ) меняет тип на list ( создаёт список ) .

Пример 9 :

List_1 =list( range( -4, 20, 3 ) )

print( List_1 )

Вывод :

> > > [ -4, -1, 2, 5, 8, 11, 14, 17 ]

Пример 10 :

List_1 =list( range( -20, -4, 3 ) )

print( List_1 )

Вывод :

> > > [ -20, -17, -14, -11, -8, -5 ]

Пример 11 :

List_1 =list( range( -4, -20, 3 ) )

print( List_1 )

Вывод :

> > > [ ]

Задача 4 :

Создайте список чисел с разницей в -3.

Пример 12 :

List_1 = list( range( -6, -30, -3 ) )

print( List_1 )

Вывод :

> > > [ -6, -9, -12, -15, -18, -21, -24, -27 ]

Пример 13 :

List_1 = list( range( 6, -30, -3 ) )

print( List_1 )

Вывод :

> > > [ 6, 3, 0, -3, -6, -9, -12, -15, -18, -21, -24, -27 ]

Пример 14 :

List_1 = list( range( 30, 6, -3 ) )

print( List_1 )

Вывод :

> > > [ 30, 27, 24, 21, 18, 15, 12, 9 ]

Пример 15 :

List_1 = list( range( -6, 30, -3 ) )

print( List_1 )

Вывод :

> > > [ ]

range( ) и тип str.

Пример 16 :

Ran =range( "а", "ь" )

print( Ran )

Вывод :

> > > Error - ошибка

range( ) и тип float.

Пример 17 :

Float_1 =range( 9.0, 5.4, -1.3 )

print( Float_1 )

Вывод :

> > >Error - ошибка

Пример 18 :

Ran =range( 3, 6 )

print( Ran )

Вывод :

> > >range( 3, 6 )

Разберём задачи № 2 и №3 из прошлой главы :

Задача 2 :

Есть список с буквами алфавита.

Выведите их по очереди в виде :

> > > " Е " - 6 буква алфавита.

Решение 1 :

List_1 = [ " А ", " Б ", " В ", " Г ", . . . , " Я " ]

namber =1

for letter in List_1 :

| - - print( ' " '+ letter +' " - ' + str( namber ) +' буква алфавита. ' )

| - - namber +=1

Вывод :

> > > " А " - 1 буква алфавита.

> > > " Б " - 2 буква алфавита.

> > > " В " - 3 буква алфавита.

> > > " Г " - 4 буква алфавита.

. . .

. . .

> > > " Я " - 33 буква алфавита.

Добавим range( ).

Решение 2:

List_1 = [ " А ", " Б ", " В ", " Г ", . . . , " Я " ]

for namber inrange( 33 ) :

| - - letter = List_1[ namber ]

| - - print( ' " '+ letter +' " - '+str( namber +1 ) + ' буква алфавита. ' )

Вывод :

> > > " А " - 1 буква алфавита.

> > > " Б " - 2 буква алфавита.

> > > " В " - 3 буква алфавита.

> > > " Г " - 4 буква алфавита.

. . .

. . .

> > > " Я " - 33 буква алфавита.

Разбор :

range( 33 ) - создать диапазон от 0 до 32 ( индексы всех элементов списка List_1 ).

Задача 3 ( На оригинальность ) :

Есть 2 списка. В первом все буквы алфавита большие ( А Б В ), а во втором маленькие ( а б в ).

Выведите каждую букву по очереди в виде :

> > > " Е е " - 6 буква алфавита.

Решение 1 :

List_1 = [ " А ", " Б ", " В ", " Г ", . . . , " Я " ]

list_2 = [ " а ", " б ", " в ", " г ", . . . , " я " ]

namber =0

for LETTER in List_1 :

| - - letter = list_2[ namber ]

| - - print( ' " '+ LETTER + letter +' " - '+str( namber +1 ) +' буква алфавита. ' )

| - - namber +=1

Вывод :

> > > " А а " - 1 буква алфавита.

> > > " Б б " - 2 буква алфавита.

> > > " В в " - 3 буква алфавита.

> > > " Г г " - 4 буква алфавита.

. . .

. . .

> > > " Я я " - 33 буква алфавита.

Добавим range( ).

Решение 2 :

List_1 = [ " А ", " Б ", " В ", " Г ", . . . , " Я " ]

list_2 = [ " а ", " б ", " в ", " г ", . . . , " я " ]

for namber inrange( 33 ) :

| - - LETTER = List_1[ namber ]

| - - letter = list_2[ namber ]

| - - print( ' " '+ LETTER + letter +' " - '+str( namber +1 ) + ' буква алфавита. ' )

Вывод :

> > > " А а " - 1 буква алфавита.

> > > " Б б " - 2 буква алфавита.

> > > " В в " - 3 буква алфавита.

> > > " Г г " - 4 буква алфавита.

. . .

. . .

> > > " Я я " - 5 буква алфавита.

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

12. Цикл while

Цикл while - цикл, который выполняет код пока условие остаётся верным ( True ).

while - пока

Форма записи :

whileусловие :

| - - код

Пример 1 :

namber =0

while namber <3 :

| - - print( namber )

| - - namber +=1

Вывод :

> > > 0

> > > 1

> > > 2

Разбор :

1) namber =0.

2) 0<3=> условие =True=> код выполняется => теперь namber =1

3) 1<3=> условие =True=> код выполняется => теперь namber =2

4) 2<3=> условие =True=> код выполняется => теперь namber =3

5) 3 не меньше 3=> условие =False=> код не выполняется => конец цикла

Пример 2 :

namber =10

while namber <3 :

| - - print( namber )

| - - namber +=1

Вывод :

> > >

Разбор :

1) 10 не меньше 3=> код не выполняется => конец цикла

Вечный цикл while :

Пример 3 :

namber = 1

while namber == 1 :

| - - name =input( "Как вас зовут : " )

| - - print( name )

Вывод :

> > > Как вас зовут: Эд

> > > Эд

> > > Как вас зовут: Аня

> > > Аня

> > > Как вас зовут: Максим

. . .

. . .

Разбор :

1) namber =1

2) namber ==1 - сравнение => условие =True=> код выполняется

3) мы не меняли значение переменной namber => условие вечно ровно True=> конец цикла не наступит

Пример 4 :

while True :

| - - name =input( "Как вас зовут : " )

| - - print( name )

Вывод :

> > > Как вас зовут: Эд

> > > Эд

> > > Как вас зовут: Аня

> > > Аня

> > > Как вас зовут: Максим

. . .

. . .

Разбор :

1) True на месте условия => код выполняется => конец цикла не наступит ( True не может превратится в False )

Пример 5 :

bool_1 = True

while bool_1 :

| - - a = input( "Ведите слово : " )

| - - print( a )

| - - if a == "пока" :

| - - | - - print( "Конец" )

| - - | - - bool_1 =False

Вывод :

> > > Ведите слово : два

> > > два

> > > Ведите слово : ёж

> > > ёж

> > > Ведите слово : пока

> > > пока

> > > Конец

Разбор :

Если a ="пока" , то значение bool_1 меняется на False=> цикл закончится

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

13. break - прерывает цикл.

break - прерывает цикл.

Вспомните пример 5 из прошлой главы:

bool_1 =True

while bool_1 :

| - - a = input( "Ведите слово : " )

| - - print( a )

| - - if a == "пока" :

| - - | - - print( "Конец" )

| - - | - - bool_1 = False

Добавим break.

Пример 1 :

while True:

| - - a = input( "Ведите слово : " )

| - - print( a )

| - - if a == "пока" :

| - - | - - print( "Конец" )

| - - | - - break

Вывод :

> > > Ведите слово : h

> > > h

> > > Ведите слово : jj

> > > jj

> > > Ведите слово : пока

> > > пока

> > > Конец

Задача 1 :

Пользователь введёт строку и знак, на котором нужно её обрезать.

Пример 2 :

string = input( "Введите строку : " )

sign = input( "Введите знак : " )

itog = ""

for letter in string :

| - - if letter == sign :

| - - | - - break

| - - else :

| - - | - - itog += letter

print( itog )

Вывод :

> > > Введите строку : Python - язык программирования

> > > Введите знак : -

> > > Python

Мы упростим этот код, но в будущем.

else можно не добавлять.

Пример 3 :

string = input( "Введите строку : " )

sign = input( "Введите знак : " )

itog = ""

for letter in string :

| - - if letter == sign :

| - - | - - break

| - - itog += letter

print( itog )

Вывод :

> > > Введите строку : Python - язык программирования

> > > Введите знак : -

> > > Python

Разбор :

1) Если letter = sign, то код дойдёт до break.

2) break заканчивает цикл => конец цикла => код после break, внутри цикла, пропускается

Нужно рассмотреть пример по нагляднее.

Пример 4 :

while True :

| - - print( 1 )

| - - print( 2 )

| - - break

| - - print( 3 )

| - - print( 4 )

| - - print( 5 )

Вывод :

> > > 1

> > > 2

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

14. continue

continue - начинает следующий проход цикла, минуя оставшееся тело цикла.

Задача 1 :

Пользователь введёт строку и знак, который нужно убрать из строки.

Пример 1 :

string = input( "Введите строку : " )

sign = input( "Введите знак : " )

itog = ""

for letter in string :

| - - if letter == sign :

| - - | - - continue

| - - itog += letter

print( itog )

Вывод :

> > > Введите строку : Hello world

> > > Введите знак : l

> > > Heo word

Нужно рассмотреть пример по нагляднее.

Пример 2 :

namber = 0

while namber < 2 :

| - - namber += 1

| - - print( 1 )

| - - print( 2 )

| - - continue

| - - print( 3 )

| - - print( 4 )

| - - print( 5 )

Вывод :

> > > 1

> > > 2

> > > 1

> > > 2

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

15. Циклы + else

В 10 главе мы разбиралиif / else . В 11 главе познакомились с циклом for. В 13 главе познакомились с циклом while.

Сегодня мы разберём for / else и while / else .

Если условие цикла окажется неверным, то else выполнит код, который мы записали в него.

Пример 1 :

List_1 = [ 55, "34gf", { } ]

for element in List_1 :

| - - print( element )

else :

| - - print( "Конец списка" )

Вывод :

> > > 55

> > > 34gf

> > > { }

> > > Конец списка

Пример 2 :

namber =0

while namber <3 :

| - - print( "namber < 3" )

| - - namber += 1

else :

| - - print( "not namber < 3" )

Вывод :

> > > namber < 3

> > > namber < 3

> > > namber < 3

> > > not namber < 3

Ты скажешь : " Святой питон, зачем оно надо?! Уберёте else и ничего не сумеете поменять! ", и будешь прав, но только на половину. Не всегда в след за циклом можно тупо написать print( ).

Пример 3 :

List_1 = [ 55, "34gf", { } ]

for element in List_1 :

| - - print( element )

print( "Конец списка" )

Вывод :

> > > 55

> > > 34gf

> > > { }

> > > Конец списка

Пример 4 :

namber =0

while namber <3 :

| - - print( "namber < 3" )

| - - namber +=1

else :

| - - print( "not namber < 3" )

Вывод :

> > > namber < 3

> > > namber < 3

> > > namber < 3

> > > not namber < 3

Ты прав только на половину. У этого есть смысл.

Задача 1. Вывести элементы списков по отдельности. Если в первом списке встретится число 0, то обрезать его без ноля и вывести оба списка как один.

Пример 5 :

List_1 = [ 89, 'uio', 0, 9088, "p" ]

List_2 = [ 'hi', 34, "7" ]

for element in List_1 :

| - - if element ==0 :

| - - | - - break

| - - print( element )

else :

| - - print( "Конец списка" )

for element in List_2 :

| - - print( element )

print( "Конец списка" )

Вывод :

> > > 89

> > >> uio

> > > hi

> > > 34

> > > 7

> > > Конец списка

break пропускает и else.

С else вывод смотрится так, словно это 1 список ( Задача решена ). Если else убрать, то вывод будет другой.

Пример 6 :

List_1 = [ 89, 'uio', 0, 9088, "p" ]

List_2 = [ 'hi', 34, "7" ]

for element in List_1 :

| - - if element ==0 :

| - - | - - break

| - - print( element )

print( "Конец списка" )

for element in List_2 :

| - - print( element )

print( "Конец списка" )

Вывод :

> > > 89

> > >> uio

> > > Конец списка

> > > hi

> > > 34

> > > 7

> > > Конец списка

Без else вывод смотрится так, словно это 2 списка, а нам нужен один.

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

16. Словари

Словарь ( тип dict ) - это структура данных, которая позволяет хранить в себе пары "ключ : значение".

Форма записи :

Переменная= {

ключ : значение ,

ключ : значение ,

. . .

ключ : значение }

или

Переменная= { ключ : значение , . . . , ключ : значение }

Правила ключей :

- ключам нельзя повторяться.

- в качестве ключей можно использовать : тип int , тип float , тип str , тип bool , тип tuple , тип type , функции...

- В качестве ключей нельзя использовать : тип list , тип dict...

Все выводы в том же порядке, что и print, который его выводит.

Пример 1 :

print( { 89 : ' hi ' } )

print( { str : ' hi ' } )

print( { print : ' hi ' } )

print( { int( ) : ' hi ' } )

print( { " yu " : " p " } )

Вывод :

> > > { 89 : ' hi ' }

> > > { < class 'str' > : ' hi ' }

> > > { <built-in function print> : ' hi ' }

> > > { 0 : ' hi ' }

> > > {' yu ': ' p '}

Правила значений :

- значением ключа может быть всё, что угодно.

Пример 2 :

print( { " p " : [ 8 ] } )

print( { " p " : input } )

print( { " p " : str } )

print( { " p " : 89.0 } )

print( { " p " : False } )

print( { " p " : { 89 : 89 } } )

Вывод :

> > > { ' p ' : [ 8 ] }

> > > { ' p ' : < built-in function input > }

> > > { ' p ' : < class 'str' > }

> > > { ' p ' : 89.0 }

> > > { ' p ' : False }

> > > { ' p ' : { 89 : 89 } }

Как обратиться к значению ключа?

Словарь [ ключ ]

Пример 3 :

Dict_1 = { " A " : 1, " В " : 2, " С " : 3, " Я " : 4 }

print( Dict_1[ " А " ] )

print( Dict_1[ " В " ] )

print( Dict_1[ " С " ] )

print( Dict_1[ " Я " ] )

Вывод :

> > > 1

> > > 2

> > > 3

> > > 4

Как добавлять что-то в словарь?

Словарь [ ключ ] =значение

Пример 4 :

Dict_1 = { 'q' : 'q q' }

Dict_1[ 'w' ] ='w w'

print( Dict_1 )

Вывод :

> > > { 'q' : 'q q', 'w' : 'w w'}

Задания на практику.

Задача 1 :

Помните задачу 3 из главы for?

Если нет, то напоминаю : Есть 2 списка. В первом все буквы алфавита большие ( А Б В ), а во втором маленькие ( а б в ). Выведите каждую букву по очереди в виде : " Е е " - 6 буква алфавита.

Сделайте это снова, но добавьте словарь.

Усложнённая версия : Используйте только словарь и только один.

Подсказка : Используйте for.

Задача 2 :

Создать программу регистрации и входа в аккаунт.

Задача 3 ( долго думать ) :

Есть словари, хранящие по три первых буквы алфавита( "В" - ключ, а "в" - значение ). В каждом словаре свой алфавит. Все словари хранятся в другом словаре.

Вывести их в таком виде :

> > > Русский язык

> > > A a - 1 буква

> > > Б б - 2 буква

К стати, тесты будут появляться через каждые 20 глав. Я могу затрагивать детали которые не упоминал. Поэтому издевайтесь над кодом, меняя его, карапузики.

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

17. Кортежи

Кортежи ( тип tuple ) - ещё один вид последовательностей в Python, которые похожи на список.

Формы записи :

переменная= ( элемент, элемент, . . . , элемент )

или

переменная=элемент, элемент, . . . , элемент

Чтобы вам было понятней, я буду использовать 1 способ.

В отличие от списков, кортежи не изменяются. Как только вы создали кортеж, значение какого‑либо его элемента уже нельзя изменить( примеры 1 и 2 ), как нельзя добавлять и удалять элементы, ...

Пример 1 :

List_1 = [ 89, 'y', "89c" ]

List_1[ 0 ] +=11

print( List_1 )

Вывод :

> > > [ 100, 'y', '89c' ]

Пример 2 :

Tuple_1 = ( 89, 'x', "5kg" )

Tuple_1[ 0 ] += -78

print( Tuple_1 )

Вывод :

Error - ошибка

, ... но можно удалить его целиком и полностью.

Пример 3 :

Tuple_1 = ( 89, 'x', "5kg" )

del Tuple_1

print( Tuple_1 )

Вывод :

> > > NameError: name 'Tuple_1' is not defined

Теперь переменной Tuple_1 не существует.

del встретится нам в будущих темах.

Разберёмся со способами создания кортежей.

Пример 4 :

sposob_1 = ( 1, )

sposob_2 =2,

print( sposob_1 )

print( type( sposob_1 ) )

print( sposob_2 )

print( type( sposob_2 ) )

Вывод :

> > > ( 1, )

> > > < class 'tuple' >

> > > ( 2, )

> > > < class 'tuple' >

Да, со скобками или без скобок, неважно, всегда ставится запятая, абсолютно всегда. Если не сделаете так, то случится следующее :

Пример 5 :

sposob_1 = ( 1 )

sposob_2 =2

print( sposob_1 )

print( type( sposob_1 ) )

print( sposob_2 )

print( type( sposob_2 ) )

Вывод :

> > > 1

> > > < class 'int' >

> > > 2

> > > < class 'int' >

Списки можно изменять, но и у кортежей есть свои преимущества :

- кортежи работают быстрее списков.

Менять элементы в кортеже нельзя, но можно их достать:

Пример 6 :

tuple_1 =34, 'ok', 90, 43

print( tuple_1[ 2 ] )

Вывод :

> > > 90

Если в кортеже есть список, то его можно изменить.

Пример 7 :

tuple_1 = 34, 'ok', [ 90, 43 ]

tuple_1[ 2 ][ 1 ] +=9

print( tuple_1 )

Вывод :

> > > 34, 'ok', [ 90, 52 ]

Разбор :

Во второй строке я использовал квадратные скобки. Первыми я обратился к элементу кортежа, а вторыми я обратился к элементу списка.

Объединим два кортежа, создав новый :

Пример 8 :

Tuple_1 = ( 90, 4 )

Tuple_2 =7, 'w'

print( Tuple_1 + Tuple_2 + ( 8, ) )

Вывод :

> > > ( 90, 4, 7, 'w', 8 )

В главе про переменные я показал подобный код:

Пример 9 :

a, b, c =8, 'g', 0

print( a )

print( b )

print( c )

Вывод :

> > > 8

> > > g

> > > 0

Теперь вы знаете, что справа от знака присваивания кортеж, но так можно делать не только с ними.

Задание на практику : повторите код из примера 9, заменив кортеж на список, а затем на словарь.

Разберёмся с задачами из прошлой главы.

Задача 1 :

Помните задачу 3 из главы for?

Если нет, то напоминаю : Есть 2 списка. В первом все буквы алфавита большие ( А Б В ), а во втором маленькие ( а б в ). Выведите каждую букву по очереди в виде : " Е е " - 6 буква алфавита.

Сделайте это снова, но добавьте словарь.

Усложнённая версия : Используйте только словарь и только один.

Подсказка : Используйте for.

Решение 1 :

Dict_1 = { "А" : "а", "Б" : "б", "В" : "в", . . . , "Я" : "я" }

namber = 1

for LEETTER in Dict_1 :

| - - print( ' " ', LEETTER, Dict_1[ LETTER ], ' " -', namber, 'буква алфавита. ' )

| - - namber +=1

Вывод :

> > > " А а " - 1 буква алфавита.

> > > " Б б " - 2 буква алфавита.

> > > " В в " - 3 буква алфавита.

. . .

> > > "Я я " - 32 буква алфавита.

Решение 2 :

Dict_1 = { 0 : "А", 1 : "Б", 2 : "В", . . . , 32 : "Я" }

List_1 = [ "а", "б", "в", . . . , "я" ]

for namber in Dict_1 :

| - - print( ' " ', Dict_1[ namber ], List_1[ namber ], ' " -', namber +=1, 'буква алфавита. ' )

Вывод :

> > > " А а " - 1 буква алфавита.

> > > " Б б " - 2 буква алфавита.

> > > " В в " - 3 буква алфавита.

. . .

> > > "Я я " - 32 буква алфавита.

Решение 3 :

Dict_1 = { 1 : "А", 2 : "Б", 3 : "В", . . . , 33 : "Я" }

Dict_2 = { 1 : "а", 2 : "б", 3 : "в", . . . , 33 : "я" }

for namber in Dict_1 :

| - - print( ' " ', Dict_1[ namber ], Dict_2[ namber ], ' " -', namber +=1, 'буква алфавита. ' )

Вывод :

> > > " А а " - 1 буква алфавита.

> > > " Б б " - 2 буква алфавита.

> > > " В в " - 3 буква алфавита.

. . .

> > > " Я я " - 32 буква алфавита.

Разбор :

Цикл for присваивает переменной ключи.

Задача 2 :

Создать программу регистрации и входа в аккаунт.

Эта задача была не столько на практику, сколько на оригинальность. Из-за этого я не буду сильно заострять на нём внимание. У многих получится примерно такой код :

Ререние 1 :

Dict_user = { }

print( "Вход" )

name = input( "Ник : " )

cod = input( "Пароль : " )

if name in Dict_user :

| - - if Dict_user[ name ] == cod :

| - - | - - print( "Добро пожаловать" )

| - - else :

| - - | - - print( "Пороль не подходит" )

else :

| - - print( "Пользователь ещё не зарегестрировался" )

| - - print( "Регистрация" )

| - - print( "Ник : ", name )

| - - cod_registracia =input( "Придумайте пароль : " )

| - - Dict_user[ name ] = cod_registracia

| - - print( "Welcome" )

Вывод :

> > > Вход

> > > Ник : Эд

> > > Пароль : Питон

> > > Пользователь ещё не зарегестрировался

> > > Регистрация

> > > Ник : Эд

> > > Придумайте пароль : Питон

> > > Welcome

Задание 3 :

Есть словари, хранящие по три первых буквы алфавита( "В" - ключ, а "в" - значение ). В каждом словаре свой алфавит. Все словари хранятся в другом словаре.

Вывести их в таком виде :

> > > Русский язык

> > > A a - 1 буква

> > > Б б - 2 буква

Решение 1 :

Dict = { "Русский язык" : { "А" : "а", "Б" : "б", "В" : "в" } ,

"Английский язак" : {"А" : "а", "В" : "b", "C" : "c" }

}

for language in Dict :

| - - namber = 1

| - - print( language )

| - - for leetter in Dict[ language ] :

| - - | - - print( ' " ', leetter, Dict[ language ][ leetter ], ' " -', namber, 'буква алфавита. ' )

| - - | - - namber += 1

Вывод :

> > > Русский язык

> > > " А а " - 1 буква алфавита.

> > > " Б б " - 2 буква алфавита.

> > > " В в " - 3 буква алфавита.

> > > Английский язык

> > > " А а " - 1 буква алфавита.

> > > " В b " - 2 буква алфавита.

> > > " C c " - 3 буква алфавита.

Телеграмм канал по программированию с уроками для начинающих, тестами и мемасами - https://t.me/+lnPXM7hfC3FkNGVi

18.Функции

Функции помогают программистом не печатать одинаковый код много раз.

Создание функции :

def название( аргумент, аргумент, . . . , аргумент ) :

| - - код

Призыв функции :

название( аргумент )

Задача 1 :

У 1 куба рёбра по 5 метров. У 2 куба рёбра по 20 метров. У 3 куба рёбра по 0.5 метра. Найдите периметр каждого куба

Решение 1 :

P1 =12* 5

print( "Периметр 1 куба -", P1, "метров." )

P2 =12*20

print( "Периметр 2 куба -", P2, "метров." )

P3 =int( 12*0.5 )

print( "Периметр 3 куба -", P3, "метров." )

Вывод :

> > > Периметр 1 куба - 60 метров.

> > > Периметр 2 куба - 240 метров.

> > > Периметр 3 куба - 6 метров.

Создадим функцию, которая выводит периметр куба, упростив нам задачу.

Пример 2 :

def perimetr( side, cube ) :

| - - P = side *12

| - - print( "Периметр", cube, "куба -", P, "метров." )

perimetr( 5, 1 )

perimetr( 20, 2 )

perimetr( 0.5, 3 )

Вывод :

> > > Периметр 1 куба - 60 метров.

> > > Периметр 2 куба - 240 метров.

> > > Периметр 3 куба - 6.0 метров.

Разбор :

Мы передаём функции 2 значения, а она присваивает их переменным side и cube.

side присваивали значения 5, 20 и 0.5, а cube присваивали значения 1, 2 и 3.

Конечно, это не полноценные переменные. Если вы передадите список, то новый список, привязанный к переменной side или cube, не будет создаваться. Действия в функции будут происходить именно с тем списком, что мы ей передали, а переменные по типу side или cube только показывают функции: какой аргумент из переданных сейчас используется.

Пример 3 :

def dog( List ) :

| - -List[ 0 ] ="dog"

List_cat = [ 'cat', 'book', "if" ]

dog( List_cat )

print( List_cat )

Вывод :

> > > [ 'dog', 'book', 'if' ]

Функции могут вызывать другие функции.

Пример 4 :

def cat( List_1 ) :

| - - List_1[ 0 ] ="cat"

def dog( List_2 ) :

| - - List_2[ 1 ] ="dog"

| - - cat( List_2 )

List = [ 1, 2, 8 ]

dog( List )

print( List )

Вывод :

> > > [ 'cat', 'dog', 8 ]

Вложенные функции.

Пример 5 :

def cat( name ) :

| - - print( "cat" )

| - - def dog( cod ) :

| - - | - - print( "dog" )

| - - | - -print( cod )

| - -dog( name )

cat( 'Python' )

Вывод :

> > > cat

> > > dog

> > > Python

Разбор :

1) Мы вызываем функцию cat( ) .

2) Функция cat( ) выводит строку "cat" .

3) Функция cat( ) вызывает функцию, которую мы в неё вложили - dog( ) .

4) Функция dog( ) выводит строку "dog", а затем "Python".

5) Код завершается.

Сегодня без задач.

телеграмм канал - https://t.me/+lnPXM7hfC3FkNGVi

Там я иногда делюсь полезными ссылками. Сейчас мы разбираем там проект Эйлера.

19. return

Продолжаем знакомиться с Функциями.

return - оператор возврата.

Форма записи :

return элемент

Вспомним первую задачу из 18 главы :

У 1 куба рёбра по 5 метров. У 2 куба рёбра по 20 метров. У 3 куба рёбра по 0.5 метра. Найдите периметр каждого куба.

Пример 1 :

def perimetr( side, cube ) :

| - - P = side *12

| - - print( "Периметр", cube, "куба -", P, "метров." )

perimetr( 5, 1 )

perimetr( 20, 2 )

perimetr( 0.5, 3 )

Вывод :

> > > Периметр 1 куба - 60 метров.

> > > Периметр 2 куба - 240 метров.

> > > Периметр 3 куба - 6.0 метров.

Созданная нами функция сама вызывает print( ).

Задача 2 :

Найдите периметры и площади всех кубов из 1 задачи, записав их в словарь перед выводов.

Пример 2 :

def perimetr( side ) :

| - - P = side * 12

| - - return P

def area( side ) :

| - - S = side **3

| - - return S

Dict_1 = {1: [perimetr(5), area(5)], 2: [perimetr(20), area(20)], 3: [perimetr(0.5), area(0.5)]}

print( Dict_1 )

for cube in Dict_1 :

| - - print("Куб", cube, ": P =", Dict_1[cube][0], ", S =", Dict_1[cube][1])

Вывод :

> > > {1: [60, 125], 2: [240, 8000], 3: [6.0, 0.125]}

> > > Куб 1 : P = 60 , S = 125

> > > Куб 2 : P = 240 , S = 8000

> > > Куб 3 : P = 6.0 , S = 0.125

Пример 3 :

def summa( a, b ) :

| - - return a + b

print( summa( 5, 6 ) )

Вывод :

>>> 11

return похожа на break

Пример 4 :

def a( ) :

| - - print( 1 )

| - - print( 2 )

| - - return"Конец"

| - - print( 6 )

print( a( ) )

Вывод :

> > > 1

> > > 2

> > > "Конец"

Либо...

Пример 5 :

def a( ) :

| - - print( 1 )

| - - print( 2 )

| - - return

| - - print( 6 )

a( )

Вывод :

> > > 1

> > > 2

Задание на подумать : Создайте какую-нибудь функцию. Попробуйте её "зациклить".

телеграмм канал - https://t.me/+lnPXM7hfC3FkNGVi

20. Функция sum( )

sum( ) - сумма всех элементов в множестве.

sum( множество )

Пример 1 :

List_1 = [ 10, 0.1, True ]

print( sum( List_1 ) )

Вывод :

> > > 11.1

sum( ) не объединяет строки и сами множества.

Пример 2 :

List_1 = [ 10, "hi", 0 ]

print( sum( List_1 ) )

Вывод :

> > >TypeError : unsupported operand type ( s ) for + : 'int' and 'str'

Пример 3 :

List_1 = [ 10, 5, [ 0.1, 0 ] ]

print( sum( List_1 ) )

Вывод :

> > >TypeError : unsupported operand type( s ) for + : 'int' and 'list'

Пример 4 :

Dict = { 1 : 7, 2 : 1, 1.1 : 6, 4 : 1 }

print( sum( Dict ) )

Tuple = ( 7, 1, 6, 1 )

print( sum( Tuple ) )

List = [ ]

print( sum( List ) )

Вывод :

> > > 8.1

> > > 15

> > > 0

Задача 1 : В коробке 10 монет. Каждый день добавляли какое-то количество монет. В списке сказано по сколько добавляли каждый раз. Сколько монет стало в коробке через неделю.

Можно использовать цыкал for.

Пример 5 :

List_coins = [ 3, 7, 5, 1, 6, 2, 4 ]

summa =10

for coins in List_coins :

| - - summa += coins

print( summa )

Вывод :

> > > Ответ : 28 монет будет в коробке через неделю.

Но для функции sum( ) можно указать начальное число. Как с переменной summa в 4 примере.

sum( множество, число )

Пример 6 :

List_coins = [ 3, 7, 5, 1, 6, 2, 4 ]

summa =sum( List_coins, 10 )

print( "Ответ :", summa, "монет будет в коробке через неделю." )

Вывод :

> > > Ответ : 28 монет будет в коробке через неделю.

Пример 7 :

List_1 = [ ]

print( sum( List_1, 15 ) )

Вывод :

> > > 15

Задание из 19 главы : Создайте какую-нибудь функцию. Попробуйте её "зациклить".

Решение 1 :

defdog( a, b ) :

| - - print( a + b )

| - - dog( a, b )

dog( 5, 7 )

Вывод :

> > > 12

> > > 12

> > > 12

. . .

Разбор : функция вызывает саму себя.

Решение 2 :

def dog( a, b ) :

| - - whileTrue :

| - - | - - print( a + b )

dog( 5, 7 )

Вывод :

> > > 12

> > > 12

> > > 12

. . .

Разбор : внутри функции бесконечный цыкл.

Решение 3 :

defdog( a, b ) :

| - - print( a + b )

whileTrue :

| - - dog( 5, 7 )

Вывод :

> > > 12

> > > 12

> > > 12

. . .

Разбор : бесконечный цыкл вечно призывает.

Задания на практику :

Задача 2 : сложите все цифры в числе. ( без sum( ) )

Задача 3 : сложите все цифры в числе. ( c sum( ) )

телеграмм канал - https://t.me/+lnPXM7hfC3FkNGVi

Тест № 1. 36 Вопросов

Тест на темы с 1 по 20 главы.

Этот тест составлен для того, чтобы вы могли оценить свои знания.

Вопрос № 1. Выберите правильный способ создания переменной в Python.

1) int a =78 ;

2) a =78

3) a ==78 ;

4) 78 a; int

Вопрос № 2. Напишите короткие названия типов.

1) Integer.

2) Boolean.

3) String.

Вопрос № 3. Определите типы исходя из данных определений (на обоих языках).

1) Целые числа.

2) Числа с плавающей запятой.

3) Строки.

4) Упорядоченные и изменяемые множества с объектами, разделённых запятыми, любых типов.

5) Имеет только два значения.

6) Упорядоченные и изменяемые множества, которые позволяют хранить в себе пары "ключ : значение", разделённых запятыми.

7) Упорядоченные и неизменяемые множества элементов, разделённых запятыми.

Вопрос № 4. Определите типы по коду.

1) a =5

2) a ="uu"

3) a = [ 4, '_' ]

4) a = { m : ' ', n : 6 }

5) a ='00'

6) a =True, False

7) a = ( 1, 3 )

8) a =True

9) a =0.0

Вопрос № 5. Какой вывод вызовет ошибку?

1) print( '5'+"0" )

2) print( '5', "0" )

3) print( 5+0 )

4) print( 5, 0 )

5) print( '5' +0 )

6) print( 5, "0" )

Вопрос № 6. Что делает каждый из операторов?

1) + , -

2) * , **

3) = , != , ==

4) / , // , %

5) > , <

6) >= , <=

Вопрос № 7. Перед вами список приоритета выполнения математических операций. Расставите цифры в правильном порядке.

1) Возведение в степень **

2) * / // %

3) Скобки

4) + -

Вопрос № 8. Какие типы можно хранить в списках, а какие нельзя?

Вопрос № 9. Что такое индекс?

Вопрос № 10. Какой будет вывод?

List_1 = [ 7, 'o', 0 + 0, bool( [ ] ) ]

print( List_1[ 2 ] )

print( List_1[ 3 ] )

Вопрос № 11. Что делает каждая из функций?

1) print( ) , input( )

2) str( ) , int( ) , bool( ) , float( )

3) list( ) , dict( ) , tuple( )

4) sum( )

5) type( ) , isinstance( )

6) len( )

7) range( )

8) sum( )

Вопрос № 12. Покажите призыв каждой функции из вопроса № 11. Пример : range( начало, конец, шаг ).

Вопрос № 13. Что делают эти команды?

1) break

2) continue

3) return

Вопрос № 14. С какими типами может работать функцияlen( ), а с какими нет?

Вопрос № 15. Какой тип возвращает функция input( )?

Вопрос № 16. Какой будет вывод?

print( type( "hi !" ) )

1) < class "str" >

2) class "str"

3) str

4) True

5) < class 'str' >

Вопрос № 17. Какой будет вывод?

print( type( type ) )

Вопрос № 18. Какой будет вывод?

print( list( "Hello" ) )

Вопрос № 19. Какой будет вывод?

print( "Hi" )

1) "Hi"

2) 'hi'

3) Hi

4) hi

Вопрос № 20. С какими типами может работать функция int( ), а с какими нет?

Вопрос № 21. С какими типами может работать функция str( ), а с какими нет?

Вопрос № 22. С какими типами может работать функция float( ), а с какими нет?

Вопрос № 23. При каких условиях функция bool( ) возвращает True, а при каких False?

Вопрос № 24. Какой будет вывод?

print( isinstance( True, int ) )

print(isinstance( False, int ) )

print(isinstance( True, bool ) )

print(isinstance( False, bool ) )

Вопрос № 25. Какой будет вывод?

print(isinstance( bool, bool ) )

print(isinstance( bool, type ) )

Вопрос № 26. Какой будет вывод?

print( 5*3 )

print( ":"*3 )

print( True*False*3 )

print( [ 1, 2 ] *3 )

print( ( 1, 2 ) *3 )

print( { 1 : "one", 2 : "two", 3 : "three" } *3 )

Вопрос №27. Какой будет вывод?

a =10

if a >5 :

| - - print( a )

| - - a +=1

elif a >6 :

| - - print( a )

| - - a +=1

else :

| - - print( a )

Вопрос № 28. Какой будет вывод?

print( range( 9, 1, -3 ) )

print( list( range( 9, 1, -3 ) ) )

print( list( range( 10, 5, 2 ) ) )

print( list( range( 3, 4 ) ) )

Вопрос № 29. Какой будет вывод?

a = [ ]

for i in a :

| - - print( a )

| - - a +=1

while bool( a ) == True :

| - - print( "0_0" )

Вопрос№ 30. Какой будет вывод?

for i in [ 1, 2, 3, 5 ] :

| - - print( i )

| - - break

| - - print( i )

else :

| - - print( 0 )

Вопрос№ 31. Какой будет вывод?

for i in [ 1, 2, 3, 5 ] :

| - - print( i )

| - - comtinue

| - - print( i )

else :

| - - print( 0 )

Вопрос № 32. Назовите правила ключей и значений в словарях.

Вопрос№ 33. Какой будет вывод?

dict_1 = { 1 : 2, 3 : 4, 5 : 6 }

for i in dict_1 :

| - - print( i )

| - - print( i )

Вопрос № 34. Какой будет вывод?

qwe = ( 67, 90, 7 )

qwe [ 1 ] += -30

print( qwe )

Вопрос № 35. Какой будет вывод?

qwe = ( 67, [ 90 ], 7 )

qwe [ 1 ][ 0 ] += -30

print( qwe )

Вопрос № 36.1 Какой будет вывод? ( Этот вопрос я сделал по приколу )

def perimetr( side ) :

| - - P = side * 12

| - - return P

def area( side ) :

| - - S = side **3

| - - return S

Dict_1 = {1: [perimetr(5), area(5)], 2: [perimetr(20), area(20)], 3: [perimetr(0.5), area(0.5)]}

print( Dict_1 )

for cube in Dict_1 :

| - - print("Куб", cube, ": P =", Dict_1[cube][0], ", S =", Dict_1[cube][1])

Вопрос № 36.2 Какой будет вывод?

List_1 = [ "k"+" k' " ]

print( sum( List_1 ) )

21. Операторы присваивания

Вы уже знакомы с оператором присвоения = :

Пример 1 :

print( "Я Маша." )

name = "Эдже"

print( "Я", name )

Вывод :

> > > Я Маша

> > > Я Эдже

Мы присвоили переменной name значение "Эдже". Я не ошибся, написав "Эдже" ( Это такое имя, а не мой ник "Эджи" ).

Есть и другие операторы присваивания, которые немного упрощают работу.

Пример 2 :

namber = 10

namber = namber + 2

print( namber )

nam = 5

nam += 3

print( nam )

Вывод :

> > > 12

> > > 8

Оператор += присваивает переменной nam значение, которое на 3 больше предыдущего.

Пример 3 :

namber = 5

namber -= 2

print( namber )

Вывод :

> > > 3

Пример 4 :

namber = 5

namber /= 2

print( namber )

nam = 7

nam //= 2

print( nam )

Вывод :

> > > 2.5

> > > 3

Пример 5 :

namber = 5

namber *= 2

print( namber )

nam = 7

nam **= 2

print( nam )

Вывод :

> > > 10

> > > 49

Пример 6 :

namber = 70

namber %= 20

print( namber )

Вывод :

> > > 10

22.Логические оперпторы

1) and ( и ) : если оба утверждения верны, то выдает True.

Пример № 1 :

print( 2 > 1 and 9 < 1 )

print( 2 > 1 and 9 > 1 )

Вывод :

> > > False

> > > True

2) or ( или ) : если оба утверждения неверны, то выдает False.

Пример № 2 :

print( True or True )

print( True or False )

print( False or True )

print( False or False )

Вывод :

> > > True

> > > True

> > > True

> > > False

3) not ( не ) : меняет True на False и False на True.

Пример № 3 :

print( not 0 , not 1 )

print( not 5 > 2 )

Вывод :

> > > True False

> > > False

4) in ( в ) : проверяет, если ли значение в последовательности.

Пример № 4 :

LIST = [ "o", 89, "not" ]

print( "not" in LIST )

print( 228 in LIST )

Вывод :

> > > True

> > > False

5) not in ( нет в ) : проверяет, если нет ли значения в последовательности.

Пример № 5 :

LIST = [ "o", 89, "or" ]

print( "or" not in LIST )

print( 228 not in LIST )

Вывод :

> > > False

> > > True

6) is ( это ) : примерно как оператор ==.

Пример № 6 :

print( 3 is 78 )

print( "23" is '23' )

Вывод :

> > > False

> > > True

7) is not ( это не ) : примерно как оператор !=.

Пример № 7 :

print( "23" is not '23' )

print( 3 is not '78' )

print( "23" is not 23 )

Вывод :

> > > False

> > > True

> > > True

23.Срезы

В Python, кроме индексов, существуют ещё и срезы.

Запись:

множество[ начало : конец ]

множество[ начало : конец : шаг ]

Пример 1:

List_1 = [ "q", "w", "e", "r", "t", "y", "u", "i" ]

print( List_1[ 3 : 6 ] )

Вывод:

> > > [ 'r', 't', 'y' ]

Разбор:

1) [ 3 : 6 ] - от 3 до 5

2) List_1[ 3 ], List_1[ 4 ], List_1[ 5 ] - 'r', 't', 'y'

Если не указать начало\конец, то им будет начало\конец списка.

Пример 2:

List_1 = [ "q", "w", "e", "r", "t", "y", "u", "i" ]

print( List_1[ : ] )

print( List_1[ 3 : ] )

print( List_1[ : 6 ] )

Вывод:

> > > [ 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i' ]

> > > [ 'r', 't', 'y', 'u', 'i' ]

> > > [ 'q', 'w', 'e', 'r', 't', 'y' ]

Шаг - это разница между элементами.

Пример 3:

List_1 = [ "q", "w", "e", "r", "t", "y", "u", "i" ]

print( List_1[ 2 : : 2 ] )

print( List_1[ : : 3 ] )

print( List_1[ : : ] )

print( List_1[ : : 1 ] )

Вывод:

> > > [ 't', 'u' ]

> > > [ 'q', 'r', 'u' ]

> > > [ 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i' ]

> > > [ 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i' ]

Можно их использовать для замены целой части множества.

Пример 4:

List_1 = [ "q", "w", "e", "r", "t", "y", "u", "i" ]

print( List_1 )

List_1[ 2 : 5 ] = [ "(*=*)", "dog" ]

print( List_1 )

List_1[ 6 : ] = "Y_Y"

print( List_1 )

Вывод:

> > > [ 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i' ]

> > > [ 'q', 'w', '(*=*)', 'dog', 'y', 'u', 'i' ]

> > > [ 'q', 'w', '(*=*)', 'dog', 'y', 'u', 'Y', '_', 'Y' ]

Пример 5:

S = "Hello, Python"

print( S[ 7 : ] )

Вывод:

> > > Python

Задание на практику:

1) Превратить строку "Hello, Python" в "Hello, world"(использовать срезы для замещения в str не выйдет).

24.max( )

Мы отклонимся от плана и пройдем пару функций, которые планировылись для других глав.

Однажды, я смотрел всеми любимый ютубчик, где наткнулся на отрывок из одной дорамы. Гг мужского пола является одним из лучших программистов в учебном заведении. Он отказывается сдавать домашнее задание, поэтому гг женского пола обвиняет его в полном неумении программировать. Один из лучших программистов не умеет программировать?...(-_- )

Допустим, на такое можно забить, если бы не продолжение.

Парень спрашивает: "Хорошо, что нам задавали?"

Мадам отвечает: "Найти большее из 3-х чисел."

Ок... ладно, конечно, в фильмах печатают, не касаясь клавиш, но такого я еще не видывал.

Кх-кхм. Готовы приблизиться к его мастерству?

Когда продолжим работу с функциями, буду бомбить про global.

Функция max( ) возвращает наибольшее из данных ее значение.

Способ записи:

max( множество\куча элементов )

max( множество\куча элементов , key = критерий(функция) )

Пример №1 :

List_nambers = 0, 5, 7, 30, 67

print( max( List_nambers ) )

print( max( 7, 60, 37 ) )

Вывод :

> > > 67

> > > 60

Если числа не даны, то добавляем input( ).

Пример №2 :

List_str = "cat", "for", "coffee", "eeffoc"

print( max( List_str, key = len ) )

print( max( [ 5, 6 ], [ 9, 0 ], [ 6, 5 ], key = sum ) )

Вывод :

> > > coffee

> > > [ 5, 6 ]

( если результаты будут схожи, то вернется первое из них )

Пример №3 :

l = [ 4, 8, 2 ]

e = [ 7, 9, 1 ]

n = [ -4, 0, 1 ]

otvet = max( l, e, n, key = max )

print( otvet )

Вывод :

> > > [ 7, 9, 1 ]

( список с самым большим числом )

Задания на практику:

1) Найти максимальное из 3 чисел, которые будет вводить пользователь, без max( ).

2) Написать код из примера №3 без max( ).

3) Изменить код из примера №3 так, чтобы он искал минимальное.

Спасибо за чтение

Вернуться к книге