93.34K
Категория: ПрограммированиеПрограммирование

Python. Part 2

1.

Python
Part 2

2.

Условия
Условная инструкция в Питоне имеет следующий синтаксис:
if Условие:
Блок инструкций 1
else:
Блок инструкций 2
Блок инструкций 1 будет выполнен, если Условие истинно. Если
Условие ложно, будет выполнен Блок инструкций 2.

3.

Ветвления, расширенный вариант
Синтаксис инструкции if +elif+else
Сначала записывается часть if с условным выражением, далее могут
следовать одна или более необязательных частей elif, и, наконец,
необязательная часть else.
if test1:
State1
elif test2:
State2
else:
state3

4.

Ветвления
• В отличие от else, в заголовке elif обязательно должно быть
логическое выражение также, как в заголовке if.
• Для разделения выражений используется переход на новую
строку, а для обозначения вложенных выражений – отступы от
начала строки.

5.

Логическое выражение
Условий в логическом выражении может быть несколько, тогда они
объединяются операторами OR или AND
OR – должно выполняться хотя бы одно из условий
AND – должны выполняться оба условия
if x>0 and y>0:
if x>0 or 5>=y>0:

6.

Каскадные условия
Пример: программа, определяющая координатную четверть
x = int(input())
y = int(input())
if x > 0 and y > 0:
print("Первая четверть")
elif x > 0 and y < 0:
print("Четвертая четверть")
elif y > 0:
print("Вторая четверть")
else:
print("Третья четверть")

7.

Тернарный условный оператор
A = Y if X else Z
Тернарный оператор по сути включает в себя имя переменной,
которой мы присваиваем значение и внутри этой же строки задаем
условия, описываемые операторами if/or/else.
В данной инструкции интерпретатор выполнит выражение Y, если
X истинно, в противном случае выполнится выражение Z.

8.

Задачи на ветвления
1) Напишите программу, которая просит пользователя что-нибудь
ввести с клавиатуры. Если он вводит какие-нибудь данные, то на
экране должно выводиться сообщение «ОК». Если он не вводит
данные, а просто нажимает Enter, то программа ничего не выводит
на экран.
2) Напишите программу, принимающую на вход целое число,
которая выводит True, если переданное значение попадает в
интервал (−15,12]∪(14,17)∪[19,+∞) и False в противном случае
(регистр символов имеет значение).

9.

Задачи
3) Напишите простой калькулятор, который считывает с пользовательского ввода три строки:
первое число, второе число и операцию, после чего применяет операцию к введённым
числам ("первое число" "операция" "второе число") и выводит результат на экран.
Поддерживаемые операции: +, -, /, *, mod, pow, div, где
mod — это взятие остатка от деления,
pow — возведение в степень,
div — целочисленное деление.
Если выполняется деление и второе число равно 0, необходимо выводить строку "Деление на
0!".
Обратите внимание, что на вход программе приходят вещественные числа.

10.

Задачи
4) Дан шестизначный номер билета (одной переменной),
определить является ли билет счастливым.

11.

Цикл While
While - Выполняет последовательность действий (тело цикла) до
тех пор, пока условие цикла истинно.
Условие записывается до тела цикла и проверяется до
выполнения тела цикла. Как правило, цикл while используется,
когда невозможно заранее определить точно количество шагов.
Синтаксис цикла while в простейшем случае выглядит так:
while условие:
блок инструкций

12.

While
С циклом While возможны две исключительные ситуации:
1. Если при первом заходе в цикл логическое выражение
возвращает false, то тело цикла не выполняется ни разу.
2. Если логическое выражение никогда не возвращает false, а
всегда остается равным true , то цикл никогда не завершится.

13.

While
Например, следующий фрагмент программы напечатает на экран
все целые числа от 1 до 10:
i=1
while i <= 10:
print(i)
i += 1

14.

While
После тела цикла можно написать команду else:, и после него блок
операций, который будет выполнен один раз после окончания цикла,
когда проверяемое условие станет неверно:
i=1
while i <= 10:
print(i)
i += 1
else:
print('Цикл окончен, i =', i)

15.

Break, continue
Смысл else появляется только вместе с инструкцией break,
использование которой внутри цикла приводит к немедленному
прекращению цикла, и при этом не исполняется ветка else.
Инструкцию break осмысленно вызывать только из инструкции if,
то есть она должна выполняться только при выполнении какого-то
особенного условия.
Другая инструкция управления циклом — continue (продолжение
цикла). Если эта инструкция встречается где-то посередине цикла,
то пропускаются все оставшиеся инструкции до конца цикла, и
исполнение цикла продолжается со следующей итерации.

16.

Пример
Программа, которая считывает числа до тех пор, пока не
встретит отрицательное число. При появлении отрицательного
числа
программа
завершается.
В
первом
варианте
последовательность чисел завершается числом 0 (при считывании
которого надо остановиться).

17.

Пример
a = int(input())
while a != 0:
if a < 0:
print('Встретилось отрицательное число', a)
break
a = int(input())
else:
print('Ни одного отрицательного числа не встретилось')

18.

Задание 1*
Определите (без Python), какое значение будет иметь переменная i
после выполнения следующего фрагмента программы:
i=0
s=0
while i < 10:
i=i+1
s=s+i
if s > 15:
break
i=i+1

19.

Задание
Определите (без Python), какое значение будет иметь переменная i после
выполнения следующего фрагмента программы:
i=0
s=0
while i < 10:
i=i+1
s=s+i
if s > 15:
continue
i=i+1
Напишите ответ с объяснением.

20.

Задачи
1) Вычислить сумму целых чисел на промежутке от a до b
2) Дано целое число, не меньшее 2. Выведите его наименьший
натуральный делитель, отличный от 1.
3) По заданному целому числу M распечатайте все квадраты
натуральных чисел, не превосходящие M, в порядке возрастания.
4) Напишите программу, которая считывает со стандартного ввода
целые числа, по одному числу в строке, и после первого введенного
нуля выводит сумму полученных на вход чисел.
5) Определите количество четных элементов в последовательности,
завершающейся числом 0.
6) Последовательность состоит из натуральных чисел и завершается
числом 0. Определите, сколько элементов этой последовательности
равны ее наибольшему элементу.

21.

Цикл For
Цикл for - цикл с параметром
В цикле for указывается переменная и множество значений, по
которому будет проходить переменная.
Множество значений может быть задано списком, кортежем,
строкой или диапазоном.

22.

ФУНКЦИЯ RANGE
Как правило, циклы for используются либо для повторения какойлибо последовательности действий заданное число раз, либо для
изменения значения переменной в цикле от некоторого
начального значения до некоторого конечного.
Для повторения цикла некоторое заданное число раз n можно
использовать цикл for вместе с функцией range:
for i in range(n):
Тело цикла

23.

for
Этот цикл проходится по любому итерируемому объекту (например
строке или списку), и во время каждого прохода выполняет тело
цикла.
for i in 'hello':
print(i * 2, end='')
hheelllloo

24.

Range - функция, возвращающая
последовательность
Примеры:
1) range(5) 01234
2)range(2,5) 234
3)range(2,15,4) 2 6 10 14
4) range(5, 0, -1) 54321

25.

Пример
Например, для того, чтобы просуммировать значения чисел от 1 до
n можно воспользоваться следующей программой:
sum = 0
for i in range(1, n + 1):
sum += i
В этом примере переменная i принимает значения 1, 2, …, n, и
значение переменной sum последовательно увеличивается на
указанные значения.

26.

Оператор continue
Оператор continue начинает следующий проход цикла, минуя
оставшееся тело цикла (for или while)
for i in 'hello':
if i == 'o':
continue
print(i * 2, end='')

27.

Оператор break
Оператор break досрочно прерывает цикл.
for i in 'hello world':
if i == 'o':
break
print(i * 3, end='')

28.

Else в for
Слово else, примененное в цикле for или while, проверяет, был ли
произведен выход из цикла инструкцией break.
Блок инструкций внутри else выполнится только в том случае, если выход из
цикла произошел без помощи break.
for i in 'hello world':
if i == 'x':
break
else:
print('Буквы x в строке нет')
Буквы x в строке нет

29.

Задачи
1) В заданном списке, состоящем из положительных и
отрицательных чисел, посчитайте количество отрицательных
элементов. Выведите результат
2) Вывести сумму всех нечетных чисел кратных заданному числу M
от a до b
3) Напишите программу, которая считывает с клавиатуры два числа
a и b, считает и выводит среднее арифметическое всех чисел из
отрезка [a;b], которые делятся на 3.

30.

Задачи
4) Напишите программу, на вход которой даются четыре числа a, b,
c и d, каждое в своей строке. Программа должна вывести фрагмент
таблицы умножения для всех чисел отрезка [a;b] на все числа
отрезка [c;d].
Числа a, b, c и d являются натуральными и не превосходят 10, a≤b,
c≤d.
Следуйте формату вывода из примера, для разделения элементов
внутри строки используйте '\t' .Левым столбцом и верхней строкой
выводятся сами числа из заданных отрезков — заголовочные
столбец и строка таблицы.

31.

Пример вывода к задаче 4:
Input :
1
4
4
5
Output :
1
2
3
4
4
4
8
12
16
5
5
10
15
20
English     Русский Правила