Инфоурок Информатика КонспектыСоздание программ на языке программирования Python

Создание программ на языке программирования Python

Скачать материал

ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РЕСПУБЛИКИ КРЫМ

«КРЫМСКИЙ РЕСПУБЛИКАНСКИЙ ИНСТИТУТ ПОСТДИПЛОМНОГО ПЕДАГОГИЧЕСКОГО ОБРАЗОВАНИЯ»

Кафедра естественно-математического образования

 

Сабитова Д.А., преподаватель кафедры естественно-математического образования

 

ТЕМА 2.8.

СОЗДАНИЕ ПРОГРАММ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ PYTHON  

(Практическое занятие – 6 часов)

 

План

1.     Структура программы в Python. Ввод и вывод данных. Арифметические операции. Операция  присваивания  и операция равенства в  Python.

2.     Оператор выбора if. Логические выражения Python. Составление программ с использованием условного оператора.

3.     Оператор цикла while.  Запись логического условия в операторе цикла. Оператор цикла for в Python.

4.     Описание одномерного массива в Python. Составление программ с использованием циклов. Составление программ с использованием одномерных массивов.

5.     Создание  программ с использованием языка программирования  Python

 

1. Структура программы в Python. Ввод и вывод данных. Арифметические операции. Операция  присваивания  и операция равенства в  Python

Python – это, с одной стороны, интерпретатор, то есть специальная программа, которая интерпретирует или выполняет по шагам другие программы. Скачать этот интерпретатор вы можете на сайте python.org.

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

Простейшая программа в Python выглядит следующим образом. Программа читает некие пользовательские данные (чтение может происходить с клавиатуры, из файла на компьютере, или данные могут браться из интернета), затем программа как-то манипулирует этими данными, обрабатывает их, вычисляет какие-то значения и в конце программа выводит результат пользователю. Результат может выводиться на экран, может выводится в файл или посылаться по сети.

Для ввода значения некоторой переменной используют команду присваивания, которая записывается по правилу: имя переменной = тип (input(). Знак присваивания – это знак равенства, например: a = int(input()). В этом примере переменной а присвоено значение введенного целого числа. Если переменной необходимо присвоить значение действительного числа, то записываем: a = float(input()). В случае, если необходимо присвоить данное строкового типа, то тип данных записывать перед инструкцией ввода input()) не надо. Тип str (строковый тип, т.е. string) определяется при вводе по умолчанию. В случае, если некоторую целочисленную переменную надо преобразовать в другой тип, например, строковый, то перед именем переменной необходимо записать тип, а рядом в круглых скобках саму переменную, например: a = str(a).

Арифметические операции сравнения и логические операции приведены в таблице 1:

Таблица 1

 Обозначение операции

Действие

+

Сложение

-

Вычитание

*

Умножение

/

Деление

%

Остаток от деления

//

Целая часть от деления

and

Конъюкция (логическое И)

or

Дезюнкция (логическое ИЛИ)

not

Отрицание

==

Операция сравнения «равно»

!=

«Не равно»

Больше

Меньше

>=

Больше или равно

<=

Меньше или равно

 Вывод данных осуществляется с помощью инструкции print(). В круглых скобках через запятую перечисляются имена переменных (или арифеметические операции), значения которых надо вывести, например: print(a, b, (a+b)/2).
значения. Для вывода в разных строках используйте различный оператор
print().

Практическое задание.

Задача №1. «Катя узнала, что ей для сна надо XX минут. В отличие от Коли, Катя ложится спать после полуночи в HH часов и MM минут. Помогите Кате определить, на какое время ей поставить будильник, чтобы он прозвенел ровно через XX минут после того, как она ляжет спать.

На стандартный ввод, каждое в своей строке, подаются значения XX, HH и MM. Гарантируется, что Катя должна проснуться в тот же день, что и заснуть. Программа должна выводить время, на которое нужно поставить будильник: в первой строке часы, во второй — минуты.»

Решение:

time = int(input())

hours = int(input())

mins = int(input())

time += hours*60 + mins

print (time//60)

print (time%60)

Обратите внимание: добавление к некоторой переменной значения можно записать как +=, также, как и изменение переменной с помощью других операций: -=, *=, /=, %=, //=.

2. Оператор выбора if. Логические выражения Python. Составление программ с использованием условного оператора

В операциях сравнения участвует логический тип данных bool. Переменная булевого типа может принимать одно из двух значений истина(true) или ложь(false). Логические выражения в Python составляются с использованием операций сравнения и логических операций and, or, not. Описание приведено в таблице 1.

Рассмотрим пример:

a = True

b = False

a and b or not a and not b

 Каким будет значение выражения? По приоритету операций первым будет выполнена операция умножения a and b, затем отрицание not a , not b потом снова умножение not a and not b, и только в последнем случае логическое сложение, т.е. (a and b) or ( (not a) and (not b)) . Таким образом, значение выражения равно False.

Условные конструкции в Python реализуются с помощью конструкции:

if условие:

       инструкция для случая, если условие истинно  

else:

       инструкция для случая, если условие ложно

Важным в записи условного оператора являются отступы. Вложенные инструкции отделяются в языке Python четырьмя пробелами, запись вложенных операторов начинаем с пятой позиции правее служебных слова if, else, elif. В общем случае условная конструкция может выглядеть следующим образом:

if условие1:

    блок1  

elif условие1:

    блок2

else:

    блок3

Практическое задание.

Задача №2. «Требуется определить, является ли данный год високосным. Напомним, что високосными годами считаются те годы, порядковый номер которых либо кратен 4, но при этом не кратен 100, либо кратен 400 (например, 2000-й год являлся високосным, а 2100-й будет невисокосным годом).

Программа должна корректно работать на числах 1900≤n≤3000.

Выведите "Високосный" в случае, если считанный год является високосным и "Обычный" в обратном случае (не забывайте проверять регистр выводимых программой символов)»

Решение:

G = int(input())

if (G % 4 == 0) and not (G % 100 == 0) or (G % 400 == 0):

    print ('Високосный')

else:

    print ('Обычный')

Задача №3. «Напишите программу, которая получает на вход три целых числа, по одному числу в строке, и выводит на консоль в три строки сначала максимальное, потом минимальное, после чего оставшееся число. На ввод могут подаваться и повторяющиеся числа»

Решение:

a,b,c = int(input()), int(input()), int(input())

if a < b:

    a, b = b, a

if a < c:

    a, c = c, a

if b > c:

    b, c = c, b

print(a)

print(b)

print(c)

В вышеприведенном решении показана возможность одновременного присваивания значений нескольким переменным (строка 1) и обмен значений переменных (строки 3, 5 и 7). Множественное присваивание в строках 3, 5 и 7 меняет значение двух переменных одновременно.

Если слева от знака «=» в множественном присваивании должны стоять через запятую имена переменных, то справа могут стоять произвольные выражения, разделённые запятыми. Главное, чтобы слева и справа от знака присваивания было одинаковое число элементов.

3. Оператор цикла while.  Запись логического условия в операторе цикла. Оператор цикла for в Python.

Цикл while («пока») позволяет выполнить одну и ту же последовательность действий, пока проверяемое условие истинно. Условие записывается до тела цикла и проверяется до выполнения тела цикла. Как правило, цикл while используется, когда невозможно определить точное значение количества проходов исполнения цикла.

Синтаксис цикла while в простейшем случае выглядит следующим образом:

while условие:

    блок инструкций

При выполнении цикла while сначала проверяется условие. Если оно ложно, то выполнение цикла прекращается и управление передается на следующую инструкцию после тела цикла while. Если условие истинно, то выполняется инструкция, после чего условие проверяется снова и снова выполняется инструкция. Так продолжается до тех пор, пока условие будет истинно. Как только условие станет ложно, работа цикла завершится и управление передастся следующей инструкции после цикла.

Например, следующий фрагмент программы напечатает на экран квадраты всех целых чисел от 1 до 10. Видно, что цикл while может заменять цикл for ... in range(...):

i = 1

while i <= 10:

 print(i ** 2)

 i += 1

В этом примере переменная i внутри цикла изменяется от 1 до 10. Такая переменная, значение которой меняется с каждым новым проходом цикла, называется счетчиком. Заметим, что после выполнения этого фрагмента значение переменной i будет равно 11, поскольку именно при i == 11 условие i<= 10 впервые перестанет выполняться.

Вот еще один пример использования цикла while для определения количества цифр натурального числа n:

n = int(input())

length = 0

while n > 0:

     n //= 10 # это эквивалентно n = n // 10

     length += 1

print(length)

В этом цикле мы отбрасываем по одной цифре числа, начиная с конца, что эквивалентно целочисленному делению на 10 (n //= 10), при этом считаем в переменной length, сколько раз это было сделано.

В языке Python есть и другой способ решения этой задачи: length = len(str(i)).

После тела цикла можно написать слово else: и после него блок операций, который будет выполнен один раз после окончания цикла, когда проверяемое условие станет неверно:

i = 1

while i <= 10:

    print(i)

     i += 1

else:

    print('Цикл окончен, i =', i)

Казалось бы, никакого смысла в этом нет, ведь эту же инструкцию можно просто написать после окончания цикла. Смысл появляется только вместе с инструкцией break. Если во время выполнения Python встречает инструкцию break внутри цикла, то он сразу же прекращает выполнение этого цикла и выходит из него. При этом ветка else исполняться не будет. Разумеется, инструкцию break осмыленно вызывать только внутри инструкции if, то есть она должна выполняться только при выполнении какого-то особенного условия.

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

a = int(input())

while a != 0:

    if a < 0:

        print('Встретилось отрицательное число', a)

        break

    a = int(input())

else:

    print('Ни одного отрицательного числа не встретилось')

Во втором варианте программы сначала на вход подается количество элементов последовательности, а затем и сами элементы. В таком случае удобно воспользоваться циклом for. Цикл for также может иметь ветку else и содержать инструкции break внутри себя.

n = int(input())

for i in range(n):

    a = int(input())

    if a < 0:

        print('Встретилось отрицательное число', a)

        break

else:

    print('Ни одного отрицательного числа не встретилось')

Другая инструкция управления циклом — continue (продолжение цикла). Если эта инструкция встречается где-то посередине цикла, то пропускаются все оставшиеся инструкции до конца цикла, и исполнение цикла продолжается со следующей итерации.

Если инструкции break и continue содержатся внутри нескольких вложенных циклов, то они влияют лишь на исполнение самого внутреннего цикла:

for i in range(3):

    for j in range(5):

        if j > i:

        break

print(i, j)

4. Описание одномерного массива в Python. Составление программ с использованием циклов. Составление программ с использованием одномерных массивов

Структура данных «массив» в Pyton не существует. Вместо массивов в Pyton используют списки. При этом, элементы списка могут иметь различный тип данных. Объявление пустого списка: List1 = []. Слева от знака присваивания записывается имя списка, справа – квадратные скобки. Список можно объявить явно перечислением через запятую элементов списка, или ввести список с использованием цикла. Рассмотрим задачу:

Задача № 4 «Напишите программу, на вход которой подается одна строка с целыми числами. Программа должна вывести сумму этих чисел. Используйте метод split строки»

Решение: Так как на вход программы подается строка, то для разбиения строки на символы необходимо использовать метод split(). Если в круглых скобках этого метода ничего не указывать, то по умолчанию строка разобьется на элементы по пробелам, для разбиения по другим символам необходимо в скобках метода указать символ, по которому произойдет разбивка строки на подстроки. Для того чтобы определить размерность нового списка используем функцию len(), которая позволяет определить длину (количество элементов) списка. Код программы может быть таким:

a = [int(i) for i in input().split()]

s=0

k=len(a)

for i in range (k):

    s+=a[i]

print(s)

Для добавления нового элемента в список используют метод append(). Рассмотрим еще одну задачу.

Задача № 5. «Напишите программу, на вход которой подаётся список чисел одной строкой. Программа должна для каждого элемента этого списка вывести сумму двух его соседей. Для элементов списка, являющихся крайними, одним из соседей считается элемент, находящий на противоположном конце этого списка. Например, если на вход подаётся список "1 3 5 6 10", то на выход ожидается список "13 6 9 15 7" (без кавычек). Если на вход пришло только одно число, надо вывести его же. Вывод должен содержать одну строку с числами нового списка, разделёнными пробелом»

Решение: Для начала введем строку и разобьем ее по пробелам на элементы списка, если длина списка равна 1, то выводим элемент списка с номером 0 (нумерация списков начинается всегда с 0!), в противном случае пробегаем по списку с помощью цикла for . Заметим, что для нумерации последнего (крайнего справа) элемента списка, мы используем номер «-1». Поскольку выводить необходимо строку, то в конце программы формируем строку из элементов списка, разделенных пробелом:

a = [int(i) for i in input().split()]

b = []

s=''

k = len(a)

if k == 1:

    print (a[0])

else:

    for i in range (k):

        if (i == 0):

            b.append(a[i+1] + a[-1])

        elif (i == k-1):

            b.append(a[i-1] + a[0])

        else:

            b.append(a[i+1] + a[i-1])

    for i in range (k):       

        s += str(b[i]) + ' '

    print (s)

Более короткое решение выглядит следующим образом:

a=[int(i) for i in input().split()]

if len(a)>1:

    for i in range(len(a)):

        print(a[i-1]+a[i+1-len(a)], end = ' ')

else:

    print(a[0])

Обратите внимание, что в операторе print использован параметр end = ' ', который позволяет вывести в цикле элементы списка через пробел в одной строке.

 

5.     Создание  программ с использованием языка программирования  Python.

Практическая работа

Задания для самостоятельной работы:

Решить задачи в среде Pyton 3.6.2:

1.   «Список квадратов»

Условие.

По данному целому числу N распечатайте все квадраты натуральных чисел, не превосходящие N, в порядке возрастания.

2.     «Минимальный делитель»

Условие.

Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1.

3.                 «Степень двойки».

Условие.

По данному натуральному числу N найдите наибольшую целую степень двойки, не превосходящую N. Выведите показатель степени и саму степень.

Операцией возведения в степень пользоваться нельзя!

4.                 «Утренняя пробежка»

Условие.

В первый день спортсмен пробежал x километров, а затем он каждый день увеличивал пробег на 10% от предыдущего значения. По данному числу y определите номер дня, на который пробег спортсмена составит не менее y километров.

Программа получает на вход действительные числа x и y и должна вывести одно натуральное число.

5.                 «Длина последовательности».

Условие

Программа получает на вход последовательность целых неотрицательных чисел, каждое число записано в отдельной строке. Последовательность завершается числом 0, при считывании которого программа должна закончить свою работу и вывести количество членов последовательности (не считая завершающего числа 0). Числа, следующие за числом 0, считывать не нужно.

Вопросы для самоконтроля

1.     В чем отличие формата оператора While в Python и в C++?

2.     Назовите распространенные ошибки при записи операторов цикла

3.     Как используются в программе операторы Break и Continue?

4.     В чем преимущество множественного присваивания в Python?

 

Основная литература

1.        Поляков К.Ю. Язык Python: избранные алгоритмы //Информатика, № 9, 2014, с. 18–27. - Режим доступа: http://kpolyakov.spb.ru/download/inf-2014-09b.pdf

2.        Программирование на Python. [Электронный ресурс] URL: https://stepik.org/course/67/syllabus

3.        Доусон М. Программируем на Python — СПб.: Питер, 2012. — 432 с.

 

Дополнительная литература

1.        Сузи Р. А. Язык программирования Python: Учебное пособие. — М.: ИНТУИТ, БИНОМ. Лаборатория знаний, 2006. — 328 с.

2.        Сузи, Р. А. Python. Наиболее полное руководство (+CD). — СПб.: БХВ-Петербург, 2002. — 768 с.

3.        Лутц М. Изучаем Python, 4-е издание. — Перевод с английского. — СПб.: Символ- Плюс, 2010. — 1280 с.

4.        Прохоренок Н.А. Python. Самое необходимое (+DVD). — СПб.: БХВ-Петербург, 2011. —416 с.

Интернет - ресурсы:

1.        Интерактивный учебник языка Pyton – Электронный ресурс. – Режим доступа:  https://pythontutor.ru/lessons/while/

2.        Онлайн-курс «Программирование на Pyton» – Электронный ресурс. – Режим доступа: https://stepik.org/lesson/3372/step/1?unit=955

3.   Python в Викиучебнике  – Электронный ресурс. – Режим доступа: http://ru.wikibooks.org/wiki/Python

4.   Python в Викиверситете  – Электронный ресурс. – Режим доступа: http://ru.wikiversity.org/wiki/Категория:Python

5.   Официальный сайт Python – Электронный ресурс. – Режим доступа:  http://www.python.org/

6.   Изучение языка программирования Python  – Электронный ресурс. – Режим доступа: http://www.python.ru/

7.   http://pythoshka.ru/

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Создание программ на языке программирования Python"

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Логист

Получите профессию

Методист-разработчик онлайн-курсов

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 665 784 материала в базе

Материал подходит для УМК

Скачать материал

Другие материалы

Тема урока № 2 Портал электронного правительства.
  • Учебник: «Информатика. Учебное пособие для общеобразовательных учреждений с русским языком обучения», Г. А. Заборовский, А. Е. Пупцев
  • Тема: § 17. Информационные технологии
  • 28.05.2021
  • 1549
  • 120
«Информатика. Учебное пособие для общеобразовательных учреждений с русским языком обучения», Г. А. Заборовский, А. Е. Пупцев
  • 28.05.2021
  • 449
  • 5
«Информатика. Углубленный уровень (в2 частях)»,  Поляков К.Ю., Еремин Е.А.

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 28.05.2021 1394
    • DOCX 52.6 кбайт
    • 28 скачиваний
    • Оцените материал:
  • Настоящий материал опубликован пользователем Сабитова Диляра Арифовна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Сабитова Диляра Арифовна
    Сабитова Диляра Арифовна
    • На сайте: 7 лет и 7 месяцев
    • Подписчики: 2
    • Всего просмотров: 140267
    • Всего материалов: 31

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Технолог-калькулятор общественного питания

Технолог-калькулятор общественного питания

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Педагогическая деятельность по проектированию и реализации образовательного процесса в общеобразовательных организациях (предмет "Математика и информатика")

Учитель математики и информатики

300 ч. — 1200 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 36 человек из 17 регионов
  • Этот курс уже прошли 35 человек

Курс профессиональной переподготовки

Математика и информатика: теория и методика преподавания в профессиональном образовании

Преподаватель математики и информатики

500/1000 ч.

от 8900 руб. от 4150 руб.
Подать заявку О курсе
  • Сейчас обучается 41 человек из 23 регионов
  • Этот курс уже прошли 53 человека

Курс профессиональной переподготовки

Теория и методика обучения информатике в начальной школе

Учитель информатики в начальной школе

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 97 человек из 34 регионов
  • Этот курс уже прошли 222 человека

Мини-курс

Библиотечная трансформация: от классики до современности с акцентом на эффективное общение и организацию событий

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 21 человек из 15 регионов
  • Этот курс уже прошли 35 человек

Мини-курс

Самоповреждающее поведение у подростков: профилактика и методы работы

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 22 человека из 15 регионов

Мини-курс

История и основы галерейного бизнеса

3 ч.

780 руб. 390 руб.
Подать заявку О курсе