27
Программирование на Python Занятие 1. Переменные и операции. Условия Павел Федотов [email protected]

Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Программирование на Python

Занятие 1. Переменные и операции. Условия

Павел Федотов[email protected]

Page 2: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Работа в интерактивном режиме

● python3 ● Пробуем любые команды● Видим результат

● exit() — выход● Ctrl + D — выход

Page 3: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Операции с целыми числами

● Вычислим:● сумму чисел 2 и 3 ● произведение чисел 13 и 42 ● 2 + 2 * 2● 20 в степени 14● целое частное от деления 60 на 7● остаток от деления 99 на 8

Page 4: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Операции с целыми числами

● Вычислим:● сумму чисел 2 и 3 ● произведение чисел 13 и

42 ● 2 + 2 * 2● 20 в степени 14● целое частное от деления

60 на 7● остаток от деления 99 на 8

● 2 + 3● 13 * 42● 2 + 2 * 2● 20 ** 14● 60 // 7● 99 % 8

Page 5: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Операции с вещественными числами

● Вычислим:● разность 2.5 и 0.7● отношение 5 и 4● 0.999999999999999999

(17 девяток)● 1 - 1 / 2^10● сумму 1e2 и 2e-2

Page 6: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Операции с вещественными числами

● Вычислим:● разность 2.5 и 0.7● отношение 5 и 4● 0.99999999999999999

(17 девяток)● 1 - 1 / 2^10● сумму 1e2 и 2e-2

● 2.5 - 0.7● 5 / 4● 0.99999999999

999999● 1 - 1 / 2 ** 10● 1e2 + 2e-2

Page 7: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Запуск скрипта из командной строки

● Открываем в терминале текстовый редактор– nano prog.py

● В редакторе набираем текст программы– print("Hello, world")

● Выходим из редактора, сохраняя файл– Ctrl + X

– Y (enter)

● Запускаем программу– python3 prog.py

Page 8: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Программа

● Программа это последовательность команд для компьютера

● Программы манипулируют с данными (объекты)

● Данные хранятся в памяти компьютера● Обращение к данным в программе

происходит с помощью переменных

Page 9: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Переменные

➢a = 2  #       2переменной присваиваем значение

➢b = 3

➢print(a + b)

➢a = 6  #     присваиваем новое значение

➢print(a + b)

➢b = b + 2

➢print(b)

➢print(c)  #  :       ошибка любая переменная должна     быть проинициализирована перед

использованием

Page 10: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Оператор присваивания

➢ a = 2  #       2переменной присваиваем значение

● a — имя переменной

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

● 2 — значение

Page 11: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Имя переменной

➢ a = 2  #       2переменной присваиваем значение

● a — имя переменной

➢ 2 = a  # ошибка

● Имя переменной

– может состоять из букв (строчных и прописных), цифр, подчеркивания _

– должно начинаться с буквы или подчеркивания

– регистр букв имеет значение

– не должно являться ключевым словом

Page 12: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Некоторые стандартные типы

● Числовые

– Целые числа (Integer)● int

– Логические (Boolean)● bool

– С плавающей точкой (Real, вещественные)● float

● Строковые

– str

Page 13: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Логические значения

● False (0)

● True (1)

Операции:● x or y

● x and y

● not x

Page 14: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Операции сравнения

● < strictly less than● <= less than or equal● > strictly greater than● >= greater than or equal● == equal● != not equal

● is object identity

● is not negated object identity

Page 15: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Строки

● 'string1'● "string2"● '''multiple lines

string'''● """multiple lines

string with double qoutes"""

Page 16: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Некоторые операции со строками

➢ 'abc' + 'def'● 'abcdef'➢ 'abc' * 3● 'abcabcabc'➢ len('abcdef')● 6

Page 17: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Тип данных имеет значение

 → print(2 + 3)– 5

 → print('2' + '3')– '23'

 → print('2 + 3')– '2 + 3'

Page 18: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Преобразование типов

● int('239')

● int(2.39)

● str(239)

● str(239e­2)

● float('2.39')

Page 19: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Чтение с клавиатуры

● a = input()● b = input()● print(a + b)● Конкатенация строк!

● a = int(input())● b = int(input())● print(a + b)● Сумма чисел

● input() # читает одну строку● a = input() # a имеет тип str● b = int(input()) # читаем строку и преобразуем в

число

Суммируем два элемента, прочитанных с клавиатуры

Page 20: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Условия

● if x % 2 == 0:

print('Even')

else:

print('Odd')

● if cond_1:– Block of instructions

● elif cond_2:– Block of instructions 2

● else:– Block of instructions 3

Page 21: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Блоки

● Отступы● Вложенные условия

Page 22: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Найти наибольшее из двух чисел

a = 4

b = 7

if a >= b:

print(a)

else:

print(b)

a = 4

b = 7

m = a

if b > a:

m = a

print(m)

Page 23: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Задача 1● Даны два числа● Вывести, какое из чисел является

наименьшим:– Первое

– Второе

– Равны

● Входные данные:

5

8● Выходные данные:

Первое

● Входные данные:

5

5● Выходные данные:

Равны

Page 24: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Задача 1. Решение

a = int(input())

b = int(input())

if a < b:

print('Первое')

elif b < a:

print('Второе')

else:

print('Равны')

Page 25: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Задача 2

● http://rosalind.info/problems/ini2/● Variables and Some Arithmetics● Given: Two positive integers a and b, each less than

1000.● Return: The integer corresponding to the square of the

hypotenuse of the right triangle whose legs have lengths a and b.

● Sample Dataset● 3 5● Sample Output● 34

Page 26: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Задача 3

● Требуется определить, является ли данный год високосным. (Напомним, что год является високосным, если его номер кратен 4, но не кратен 100, а также если он кратен 400.)

● Входные данные:

2014● Выходные данные:

NO

● Входные данные:

2000● Выходные данные:

YES

Page 27: Программирование на Pythonbioinformaticsinstitute.ru/sites/default/files/fedotov-python-1.pdf · Программирование на Python Занятие 1. Переменные

Ссылки

● Официальная документация:– http://docs.python.org

– http://docs.python.org/3/library/stdtypes.html

– http://docs.python.org/3/reference/datamodel.html

– https://docs.python.org/3/tutorial

● Online-курсы, задачи:– http://www.codecademy.com/tracks/python

– http://informatics.mccme.ru