118.67K
Category: programmingprogramming
Similar presentations:

Знакомство с Python. Функции ввода, вывода информации. Логические и математические операции

1.

ЗНАКОМСТВО С PYTHON.
ФУНКЦИИ ВВОДА, ВЫВОДА
ИНФОРМАЦИИ.
ЛОГИЧЕСКИЕ И
МАТЕМАТИЧЕСКИЕ
ОПЕРАЦИИ

2.

Компьютерная программа — список команд (инструкций) для компьютера. Команды могут
быть любыми, например:
•считать информацию с клавиатуры;
•произвести арифметические вычисления (+, −, *, /);
•вывести информацию на экран.
В каждом компьютере установлено много разнообразных программ. Например, Google Chrome,
через которую вы, скорее всего, проходите этот курс, — это программа-браузер. Она позволяет
просматривать страницы сайтов в интернете. Программа Skype позволяет совершать звонки и
обмениваться мгновенными сообщениями. В конце концов, сама операционная система, будь
то Windows, OS X или Linux, тоже программа.
Для создания программ используются языки программирования. Выбор языка
программирования, как правило, продиктован особенностями самой программы.

3.

Язык программирования
Язык программирования — набор определенных правил, по которым компьютер может понимать
команды (инструкции) и выполнять их. Текст программы на любом языке программирования,
называется программным кодом.
Языки программирования бывают компилируемые и интерпретируемые. Если программа
написана на компилируемом языке (C, C++, Pascal), то перед выполнением её нужно полностью
проверить на наличие синтаксических ошибок и уже после этого перевести в понятную для
компьютера форму — машинный код. Это делает специальная программа, которая
называется компилятором.
Если программа написана на интерпретируемом языке (Python, PHP, Ruby), она не переводится
в машинный код целиком. Вместо этого специальная программа, которая
называется интерпретатором, идет по коду, анализирует его и выполняет каждую отдельную
команду.
Существуют языки программирования, которые совмещают оба подхода (C#, Java). В таких
языках код исходной программы сначала компилируется в промежуточный код (байт-код), а уже
потом, во время выполнения, переводится в машинный код.

4.

Язык Python
Язык Python разработал голландский программист Гвидо Ван Россум (Guido van Rossum) в
1991 году. Гвидо был фанатом британского комедийного сериала «Monty Python’s Flying
Circus», откуда и пришло название языка.
Python 2 VS Python 3
Основные версии языка Python – Python 2 и Python 3 Версия Python 2 считается
устаревающей, версия 3 — более новой и современной. Почему не откажутся от второй
версии? Если коротко, Python 3 не имеет полной обратной совместимости с предыдущей
версией: на Python 2 написано очень много программ, и у разработчиков нет возможности
переписать всё на новую версию.

5.

Преимущества Python
1.Это интерпретируемый язык программирования:
1. он не требует отдельного этапа компиляции;
2. программа на языке Python запускается прямо из исходного кода;
2.Это высокоуровневый язык программирования;
3.Это платформонезависимый язык:
1. программы на Python можно создавать на разных операционных системах (Linux,
Windows, OS X);
2. программы на Python можно запускать на разных операционных системах (Linux,
Windows, OS X);
4.Это open source проект;
5.Это простой язык;
6.Это встраиваемый скриптовый язык;
7.Это динамический язык, что упрощает написание несложных программ;
8.Для Python существует огромная библиотека классов на любой вкус.
Недостатки Python
1.Низкая скорость выполнения по сравнению с такими языками, как C и C++;
2.Динамическая типизация языка — минус при написании сложных программ.

6.

Задачи, решаемые с помощью Python
Python подходит для решения широкого спектра задач:
1.Системное программирование. Встроенные в Python интерфейсы доступа к службам
операционных систем делают его идеальным инструментом для создания переносимых программ
и утилит системного администрирования;
2.Графические приложения. Простота Python и быстрота разработки делают его отличным
средством создания графического интерфейса. В состав Python входит стандартный объектноориентированный интерфейс к GUI API;
3.Веб-приложения. С помощью дополнительных фреймворков на языке Python (Django, Flask,
Pyramid) можно создавать полнофункциональные сайты;
4.Веб-сценарии. Python поставляется вместе со стандартными интернет-модулями, которые
позволяют программам выполнять разнообразные сетевые операции как в режиме клиента, так и в
режиме сервера;
5.Интеграция компонентов. Возможность Python расширяться и встраиваться в системы на языке
C++ делает его удобным для описания поведения других систем и компонентов;
6.Приложения баз данных. В Python имеются интерфейсы доступа ко всем
основным реляционным базам данных: Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite
и многим другим. С их помощью можно создавать приложения баз данных.

7.

Проекты, в которых используется Python
1.Компания Google использует Python в своей поисковой системе;
2.Компании Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm и IBM, используют Python
для тестирования аппаратного обеспечения;
3.Сервис YouTube в значительной степени реализован на Python;
4.Агентство национальной безопасности (NSA) использует Python для шифрования и
анализа данных;
5.Компании JPMorgan Chase, UBS, Getco и Citadel применяют Python для
прогнозирования финансового рынка;
6.Программа BitTorrent для обмена файлами в пиринговых сетях написана на языке
Python;
7.NASA, Los Alamos, JPL и Fermilab используют Python для научных вычислений.

8.

«The Zen of Python»
1.Красивое лучше, чем уродливое;
2.Явное лучше, чем неявное;
3.Простое лучше, чем сложное;
4.Сложное лучше, чем запутанное;
5.Плоское лучше, чем вложенное;
6.Разреженное лучше, чем плотное;
7.Читаемость имеет значение;
8.Особые случаи не настолько особые, чтобы нарушать правила;
9.При этом практичность важнее безупречности;
10.Ошибки никогда не должны замалчиваться;
11.Если не замалчиваются явно;
12.Встретив двусмысленность, отбрось искушение угадать;
13.Должен существовать один — и, желательно, только один — очевидный способ сделать это;
14.Хотя он поначалу может быть и не очевиден, если вы не голландец;
15.Сейчас лучше, чем никогда;
16.Хотя никогда зачастую лучше, чем прямо сейчас;
17.Если реализацию сложно объяснить — идея плоха;
18.Если реализацию легко объяснить — идея, возможно, хороша;
19.Пространства имён — отличная вещь! Давайте будем делать их больше!

9.

Вывод данных, команда print
Для вывода данных на экран используется команда print().
Внутри круглых скобок пишем, что хотим вывести на экран. Если это текст, то обязательно указываем его
внутри кавычек. Кавычки могут быть одинарными или двойными. Только обязательно ставим одинаковые
до и после текста.
Например, следующий код:
print('Мы изучаем язык Python’)
Ввод данных, команда input
Все предыдущие программы выводили на экран текст, известный в момент написания программного
кода. Однако программы могут работать с данными, которые станут известны только во время
выполнения программы. Другими словами, программы могут считывать данные, а затем их
использовать.
Для считывания данных в языке Python используется команда input().
Рассмотрим следующую программу:
print('Как тебя зовут?')
name = input()
print('Привет,', name)
name = input('Как тебя зовут?’)
print('Привет,', name)

10.

Параметр end
Параметр sep
Рассмотрим следующий код:
print('a', 'b', 'c', sep='*')
print('d', 'e', 'f', sep='**’)
Результатом выполнения такого кода будет:
a*b*c
d**e**f
Рассмотрим следующий код:
print('a', 'b', 'c', end='@')
print('d', 'e', 'f', end='@@’)
Результатом выполнения такого кода будет:
a b c@d e f@@
Примечания
Примечание 1. Вызов команды print() с пустыми скобками ставит перевод строки.
Примечание 2. Последовательность символов \n называется управляющей последовательностью и задает перевод строки.
Примечание 3. Значения по умолчанию у параметров sep и end следующие:
sep=' ' # пробел
end='\n' # перевод строки
Примечание 4. Чтобы убрать все дополнительные выводимые символы, можно вызывать командуprint() так:
print('a', 'b', 'c', sep='', end='')
Примечание 5. Программный код
print('Python')
равнозначен коду
print('Python', end='\n')
Примечание 6. Если после вывода данных нужно более одного перевода строки, то необходимо использовать следующий код:
print('Python', end='\n\n\n')

11.

Имя переменной
1.В имени переменной используйте только латинские буквы a-z, A-Z, цифры и символ нижнего
подчеркивания (_);
2.Имя переменной не может начинаться с цифры;
3.Имя переменной по возможности должно отражать её назначение.
Значение переменной
Значение переменной — сохраненная в ней информация. Это может быть текст, число и т.д.
Знак «=» это оператор присваивания. Он присваивает значение, которое находится справа
от знака «равно», переменной, которая находится слева от знака «равно».
Множественное присваивание
В языке Python можно за одну инструкцию присваивания изменять значение сразу нескольких
переменных. Делается это так:
name, surname = 'Timur', 'Guev'
print('Имя:', name, 'Фамилия:', surname)
name, surname = input(), input()
print('Имя:', name, 'Фамилия:', surname)

12.

Примечания
Примечание 1. Названия переменных ничего не говорят интерпретатору, и даже в очень хорошо
названной переменной не появится нужное значение, если мы сами его туда не запишем.
Примечание 2. Новое значение переменной вытесняет старое. Важно представлять, чему равно
значение переменной в каждый момент времени.
Примечание 3. Переменные можно вводить в любой момент (не только в самом начале
программы).
Примечание 4. В качестве названия переменных запрещено использовать ключевые
(зарезервированные) слова. К ключевым словам в языке Python относятся:

13.

Основные операции с числами
В языке Python, как и в математике, над числами можно совершать 4 основные операции (+, −, *, /).
Оператор
Описание
+
сложение

вычитание
*
умножение
/
деление
Дополнительные операции
Оператор
**
%
//
Описание
Возведение в степень
Остаток от деления
Целочисленное деление
Примечания
Примечание 1. Оператор нахождения остатка очень полезен при решении многих задач. Например, число
делится на nn нацело тогда и только тогда, когда остаток от деления на nn равен 00.
Примечание 2. Операторы // и % имеют такой же приоритет, как и операторы умножения и обычного
деления.
Примечание 3. Наивысший приоритет имеет оператор возведения в степень **.
Примечание 4. Обратите внимание: результатом деления n % m при n < m является число n. Например, 5 %
9 = 5, 3 % 13 = 3 и т.д.

14.

Три последовательных числа
Напишите программу вывода на экран трех последовательно идущих чисел, каждое на отдельной
строке. Первое число вводит пользователь, остальные числа вычисляются в программе.
Формат входных данных
На вход программе подается одно целое число.
Формат выходных данных
Программа должна вывести три последовательно идущих числа в соответствии с условием
задачи.
Тестовые данные
Номер теста
Входные данные
1
8
2
-341
3
-1
4
999
5
3338
Выходные данные
8
9
10
-341
-340
-339
-1
0
1
999
1000
1001
3338
3339
3340

15.

Cумма трёх чисел
Напишите программу, которая считывает три целых числа и выводит на экран их сумму. Каждое число
записано в отдельной строке.
Формат входных данных
На вход программе подаётся три целых числа, каждое на отдельной строке.
Формат выходных данных
Программа должна вывести сумму введенных чисел.
Номер теста
1
2
3
4
5
Входные данные
9
11
2
-1
10
1
-7
-10
-3
40
-20
23
133
566
-49
Выходные данные
22
10
-20
43
650

16.

Куб
Напишите программу, вычисляющую объём куба и площадь его полной поверхности, по введённому
значению длины ребра.
Формат входных данных
На вход программе подается одно целое число – длина ребра.
Формат выходных данных
Программа должна вывести текст и числа в соответствии с условием задачи.
Примечание. Объём куба и площадь полной поверхности можно вычислить по формулам V = a^3,
S = 6a^2
Номер теста
Входные данные
1
25
2
13
3
56
4
7
Выходные данные
Объем = 15625
Площадь полной
поверхности = 3750
Объем = 2197
Площадь полной
поверхности = 1014
Объем = 175616
Площадь полной
поверхности = 18816
Объем = 343
Площадь полной
поверхности = 294

17.

Значение функции
Напишите программу вычисления значения функции f(a, b) = 3(a + b)^3 + 275b^2 - 127a 41 по введеным целым значениям a и b.
Формат входных данных
На вход программе подаётся два целых числа, каждое на отдельной строке. В первой строке —
значение aa, во второй строке — значение b.
Формат выходных данных
Программа должна вывести значение функции по введённым числам a и b.
Номер теста
1
2
3
4
5
Входные данные
1
1
1
0
0
1
10
10
-15
100
Выходные данные
131
-165
237
50189
4594239

18.

Следующее и предыдущее
Напишите программу, которая считывает целое число, после чего на экран выводится следующее и
предыдущее целое число с пояснительным текстом.
Формат входных данных
На вход программе подаётся целое число.
Формат выходных данных
Программа должна вывести текст согласно условию задачи.
Номер теста
Входные данные
Выходные данные
1
20
Следующее за числом 20 число: 21
Для числа 20 предыдущее число: 19
2
0
Следующее за числом 0 число: 1
Для числа 0 предыдущее число: -1
3
-10
Следующее за числом -10 число: -9
Для числа -10 предыдущее число: -11
4
-50
Следующее за числом -50 число: -49
Для числа -50 предыдущее число: -51
5
100
Следующее за числом 100 число: 101
Для числа 100 предыдущее число: 99

19.

Стоимость покупки
Напишите программу, которая считает стоимость трех компьютеров, состоящих из монитора,
системного блока, клавиатуры и мыши.
Формат входных данных
На вход программе подаётся четыре целых числа, каждое на отдельной строке. В первой строке —
стоимость монитора, во второй строке — стоимость системного блока, в третьей строке — стоимость
клавиатуры и в четвертой строке — стоимость мыши.
Формат выходных данных
Программа должна вывести одно число – стоимость покупки (трех компьютеров).
Номер теста
1
2
3
Входные данные
9900
55600
3999
2990
15700
80550
12050
5890
44990
123300
19600
8990
Выходные данные
217467
342570
590640

20.

Арифметическая прогрессия
Арифметической прогрессией называется последовательность чисел a_1, a_2, ..., a_n, каждое из
которых, начиная с a_2, получается из предыдущего прибавлением к нему одного и того же
постоянного числа d (разность прогрессии), то есть:
a_n=a_{n−1}+d
Если известен первый член прогрессии и её разность, то n-ый член арифметической прогрессии
находится по формуле:
a_n=a_1+d*(n-1)
Входные данные
На вход программе подаётся три целых числа: a_1​, d и n, каждое на отдельной строке.
Выходные данные
Программа должна вывести n-ый член арифметической прогрессии.
Номер теста
1
2
3
4
Входные данные
1
1
10
-1
1
2
100
50
1
100
10
9
Выходные данные
10
0
100
180

21.

Разделяй и властвуй
Напишите программу, которая считывает целое положительное число x и выводит на экран
последовательность чисел x, 2x, 3x,4x и 5x, разделённых тремя черточками.
Формат входных данных
На вход программе подаётся целое положительное число.
Формат выходных данных
Программа должна вывести текст согласно условию задачи.
Номер теста
1
2
3
Входные данные
7
1
5
4
1000
5
99
Выходные данные
7---14---21---28---35
1---2---3---4---5
5---10---15---20---25
1000---2000---3000---4000--5000
99---198---297---396---495

22.

Мандарины
n школьников делят k мандаринов поровну, неделящийся остаток остается в корзине. Сколько целых
мандаринов достанется каждому школьнику? Сколько целых мандаринов останется в корзине?
Формат входных данных
На вход программе подаётся два целых числа: количество школьников и количество мандаринов,
каждое на отдельной строке.
Формат выходных данных
Программа должна вывести два числа: количество мандаринов, которое достанется каждому
школьнику, и количество мандаринов, которое останется в корзине, каждое на отдельной строке.
Номер теста
1
2
3
4
5
Входные данные
3
6
12
6
7
4
5
60
6
6
Выходные данные
2
0
0
6
0
4
12
0
1
0

23.

Сама неотвратимость
Безумный титан Танос собрал все 6 камней бесконечности и намеревается
уничтожить половину населения Вселенной по щелчку пальцев. При этом если население
Вселенной является нечетным числом, то титан проявит милосердие и округлит количество
выживших в большую сторону. Помогите Мстителям подсчитать количество выживших.
Формат входных данных
На вход дается число целое nn – население Вселенной.
Формат выходных данных
Программа должна вывести одно число – количество выживших.
Номер теста
1
2
3
4
5
Входные данные
99
1132
1
2
124234413532
Выходные данные
50
566
1
1
62117206766

24.

Пересчет временного интервала
Напишите программу для пересчёта величины временного интервала, заданного в
минутах, в величину, выраженную в часах и минутах.
Формат входных данных
На вход программе подаётся целое число – количество минут.
Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.
Номер теста
1
2
3
4
5
Входные данные
150
50
240
400
90
Выходные данные
150 мин - это 2 час 30 минут.
50 мин - это 0 час 50 минут.
240 мин - это 4 час 0 минут.
400 мин - это 6 час 40 минут.
90 мин - это 1 час 30 минут.

25.

Трехзначное число
Напишите программу, в которой рассчитывается сумма и произведение цифр положительного
трёхзначного числа.
Формат входных данных
На вход программе подаётся положительное трёхзначное число.
Формат выходных данных
Программа должна вывести два числа с поясняющим текстом: сумма цифр и произведение
цифр.
Номер теста
Входные данные
1
123
2
333
3
101
4
100
5
999
Выходные данные
Сумма цифр = 6
Произведение цифр = 6
Сумма цифр = 9
Произведение цифр = 27
Сумма цифр = 2
Произведение цифр = 0
Сумма цифр = 1
Произведение цифр = 0
Сумма цифр = 27
Произведение цифр = 729

26.

Пингвины
Напишите программу, которая по данному числу N от 1 до 9 выводит на экран N пингвинов.
Изображение одного пингвина имеет размер 5×9 символов, между двумя соседними пингвинами
также имеется пустой (из пробелов) столбец. Разрешается вывести пустой столбец после
последнего пингвина. Для упрощения рисования скопируйте пингвина из примера в среду
разработки.
Тест 1
Входные данные:
3
Тест 2
Входные данные:
1
Вывод программы:
Вывод программы:

27.

Вторая справа цифра
Дано натуральное число. Найдите цифру, стоящую в разряде десятков в его десятичной записи
(вторую справа цифру или 0, если число меньше 10).
Тест 1
Входные данные:
73
Вывод программы:
7

28.

Электронные часы
Дано число N. С начала суток прошло N минут. Определите, сколько часов и минут будут показывать
электронные часы в этот момент.
Формат ввода
Вводится число N — целое, положительное, не превышает 10⁷.
Формат вывода
Программа должна вывести два числа: количество часов (от 0 до 23) и количество минут (от 0 до 59).
Учтите, что число N может быть больше, чем количество минут в сутках.
Тест 1
Входные данные:
150
Вывод программы:
2 30

29.

0 в 1 и наоборот
Вводится число 0 или 1, необходимо вывести 1 или 0 соответственно.
Формат ввода
Число 0 или 1.
Формат вывода
Число 0 или 1.
Тест 1
Входные данные:
0
Вывод программы:
1

30.

Следующее четное
Дано целое число N. Выведите следующее за ним четное число.
Формат ввода
Вводится целое положительное число, не превышающее 1000.
Формат вывода
Выведите ответ на задачу.
Тест 1
Входные данные:
7
Вывод программы:
8
Тест 2
Входные данные:
8
Вывод программы:
10

31.

МКАД
Длина Московской кольцевой автомобильной дороги — 109 километров. Байкер Вася стартует с нулевого
километра МКАД и едет со скоростью v километров в час. На какой отметке он остановится через t часов?
Формат ввода
Программа получает на вход значение v и t. Если v>0, то Вася движется в положительном направлении по МКАД,
если же значение v<0, то в отрицательном. (Гарантируется, что исходные числа — целые и находятся в
промежутке от -1000 до +1000).
Формат вывода
Программа должна вывести целое число от 0 до 108 — номер отметки, на которой остановится Вася.
Тест 1
Входные данные:
60
2
Вывод программы:
11

32.

Улитка*
Улитка ползет по вертикальному шесту высотой H метров, поднимаясь за день на A метров, а за ночь
спускаясь на B метров. На какой день улитка доползет до вершины шеста?
Формат ввода
Программа получает на вход целые H, A, B. Гарантируется, что A > B ≥ 0.
Формат вывода
Программа должна вывести одно натуральное число.
Тест 1
Входные данные:
10
3
2
Вывод программы:
8
h = int(input())
a = int(input())
b = int(input())
print((h - a) // (a - b) + 1)
English     Русский Rules