Python Урок 1. Арифметические действия и конструкции

Поділитись

На уроке рассмотрены примеры использования оператора присваивания на языке python, примеры работы с основными арифметическими операторами. Узнаете об одной из функций преобразования типов (int). Изучите работу условного оператора, оператора python print и input

Среда разработки

Для обучения используется IDLE python 3.4 GUI (возможна и другая среда разработки).

Основным окном IDLE является окно интерпретатора, позволяющее программировать в интерактивном режиме, т.е. после ввода команды, она сразу же исполняется после нажатия [Enter]. Каждая строка начинается с символов >>>, результат выполнения отображается сразу под строкой оператора:

IDLE python 3.4

Для полноценной работы и сохранения результатов в файл следует выбрать в меню File пункт New File. После чего в открывшемся окне можно набирать код программы.

Сравнение кода двух языков

Для начала сравним фрагменты кода одной и той же программы, написанной на Python и на C++. Результат показывает, насколько меньше код, написанный на Python:
  
На PYTHON

1print(«Hello, World!»)

На С++

1
2
3
4
5
#include<iostream>
void main()
{
cout << «Hello, World!» << endl;
}

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

Оператором присваивания является символ =. Выполняется оператор стандартным образом: сначала вычисляется выражения справа от знака равенства, а затем полученное значение записывается в переменную, указанную слева от знака равенства.

1
2
3
4
5
6
7
8
9
10
A = 3.14
print(type(A)) # float
A = ‘Hello’
print(type(A)) # str
a = b = c = 0
a += 1 # a = a + 1
с = 5//2 # int
d = 5/2 # float
b = c**2 # b = c^2 (степень) a,
b = b, a # обмен значениями a=b, b=a

Ввод и вывод данных

  • Вывод данных осуществляется при помощи оператора print:
  • Существует возможность записи инструкций в одну строку, разделяя их через ;. Однако не следует часто использовать такой способ, это снижает удобочитаемость:
  • Для функции print может задаваться так называемый сепаратор — разделитель между элементами вывода:
  • Для форматированного вывода используется format:
  • Или с несколькими аргументами:
  • Ввод данных осуществляется при помощи оператора input:
  • В скобках функции можно указать сообщение-комментарий к вводимым данным:
  • Функция input воспринимает входные данные, как поток символов. Поэтому, чтобы принять целочисленное значение, следует воспользоваться функцией int():

Задание Python 1_1:
Используя операторы input и print, выведите значения целых переменных x=5 и y=3 в следующих форматах:3+5=?3 | 5 | 8Z(5)=F(3)x=5; y=3;Ответ: (5;3)

Арифметические действия и математические функции

x + y Сложение
x - y Вычитание
x * y Произведение
x / y Деление
x // y Целочисленное деление
x % y Остаток от целочисленного деления
x**y Возведение в степень
-x Смена знака числа

Рассмотрим стандартные математические функции:

  • abs(x) модуль числа;
  • round(x) – в Python округление числа x к ближайшему целому;
  • sqrt(x) – квадратный корень числа;
  • exp(x) – экспонента x;
  • log(x) – натуральный логарифм x.

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

import math # далее используем какую-либо функцию: print (math.sqrt(64)) # 8.0

Типы данных и преобразование типов

Перечислим основные типы данных в Python, которые понадобятся на ближайших уроках:

  • int – целочисленные значения;
  • float – вещественные (дробные) значения;
  • bool – логические значения — истина (True) или ложь (False);
  • str – символьная строка или единичный символ.

Рассмотрим примеры использования основных типов в Python:
Целые числа (int):

num = 13 print(num) # 13   num = 0 print(num) # 0   num = -10 print(num) # -10   num = 500_000_000 # для удобства чтения print(num) # 500000000

Вещественные числа (float):

num = 13.4 print(num) # 13.4   num = 0.0 print(num) # 0.0   num = -15.2 print(num) # -15.2   num = 100_000.000_002 # для удобства чтения print(num) # 100000.000002   num = 1.7e2 # 1.7 умножить на 10 в степени 2 print(num) # 170

Логический тип (bool):

print(15 == 15) # True   print(1 != 3) # True   print(3 > 4) # False   print(3 <= 3) # True   print(6 >= 6) # True   print(6 < 5) # False   x = 2 print(1 < x < 3) # True

Строки (str):

example_string = «Очень интересно» print(example_string) # Очень интересно   example_string = ‘Пьеса «На дне»‘ print(example_string) # Пьеса «На дне»   example_string = «Пьеса На дне print(example_string) # Пьеса «На дне»   example_string = «Как » \ «разбить » \ «объявление длинной строки» print(example_string) # Как разбить объявление длинной строки   example_string = «»» Как оставить сроку в несколько строк «»» print(example_string) # Как # оставить сроку # в несколько строк
# Как объединить две строки в одну print(«Можно их» + » сложить») # Можно их сложить   print(«Можно и так!» * 3) # Можно и так!Можно и так!Можно и так!

Рассмотрим примеры того, как используется преобразование типов в Питон:

  • преобразование в символьную строку:
  • преобразование в целое:
  • преобразование в вещественное:

Python для систем счисления

  • bin(y) — целое число преобразовывается в двоичную строку.
  • hex(y) — целое число преобразовывается в шестнадцатеричную строку.
  • oct(y) — целое число преобразовывается в восьмеричную строку.

Рассмотрим примеры работы с системами счисления:

bin(17) # ‘0b10001’ oct(17) # ‘0o21’ hex(17) # ‘0x11’

Задание Python 1_2: Даны две переменные. Запросить их значение. Выполнить основные арифметические действия с переменными, целочисленное деление, возведение в квадрат. Осуществить перевод в системы счисления (в 8-ю и 16-ю). Вывести результат.Задание Python 1_3: Найти длину окружности L и площадь круга S заданного радиуса R:

L=2*pi*R, S=pi*R2.

В качестве значения использовать 3.14.* Из задачника М. Э. АбрамянЗадание Python 1_4: Даны три точки A, B, C на числовой оси. Найти длины отрезков AC и BC и их сумму.* Из задачника М. Э. АбрамянПример: Дано двузначное число. Найти сумму и произведение его цифр.* Из задачника М. Э. Абрамян

✍ Решение:

import math print(‘Введите двузначное число: ‘) A = int(input()) Res = (A // 10) + math.fmod(A, 10) print(‘Сумма его цифр равна: ‘, int(Res)) Res = (A // 10) * math.fmod(A, 10) print(‘Произведение его цифр равно: ‘, int(Res))

Задание Python 1_5: Дано двухзначное целое число. Вывести сначала его правую цифру, а затем левую.

** Сделайте задание повышенной сложности: необходимо поменять местами цифры числа и вывести результирующее число (вывести не отдельные цифры, а именно число). Например, число 25, а результат — число 52.* Из задачника М. Э. Абрамян

Условный оператор

В языке python синтаксис обладает интересной особенностью: дело в том, что в коде нет операторных скобок (begin..end или {...}); вместо них отступы указывают, какие операторы выполнять внутри той или иной конструкции.Зачем отступы и где их ставить?

Стандартная запись условной инструкции Python if else выглядит следующим образом:

if условие1:
оператор1
elif условие2:
оператор2
else:
оператор3
1
2
3
4
if x > 0:
if x < 2:
else:
оператор

Следует обратить внимания, что знак сравнения в Питоне записывается, как два знака =:

1
2
3
4
5
6
if x < 0:
блок1
elif
x == 0: # сравнение! блок2
else:
блок3

Другой пример использования условия:

1
2
3
4
5
6
if x < 0:
print(‘мало’)
elif x == 0:
print(‘средне’)
else:
print(‘много’)

СЛОЖНЫЕ УСЛОВИЯ

  • Использование двойных неравенств разрешено:
1
2
3
4
if 0 < x < 2:
if 0 < y < 2:
else:
оператор
  • Пример использования условия c elif:
1
2
3
4
5
6
if x < 0:
print(‘мало’)
elif -0 <= x <= 0:
print(‘средне’)
else:
print(‘много’)
  • Кроме того, можно применять логический оператор AND (И):
  if x >= 30 and x <= 40:
  • Использование с оператором in:
site = «my.ru»
  if «ru» in site:
print(«Условие выполнено!») # Условие выполнено!
  • Кроме того, можно применять логический оператор OR (ИЛИ):
site = «my.ru»
  if «my» in site or site.endswith(«.ru»): # заканчивается на …
print(«Условие выполнено!»)
  • Аналог тернарного оператора
uchenik_1 = 5
uchenik_2 = 2
 
otlichnik = "первый ученик" 
if uchenik_1 > uchenik_1  
else "второй ученик"
 
print(otlichnik) # первый ученик

Задание Python 1_6: Запрашивается количество часов и заработок в час. Рассчитать зарплату. Если работник работал более 40 часов, — то зарплата умножается на коэффициент 1,5. Оформить в формате дружелюбного интерфейса.

Пример: Дан год. Определить високосный ли год или нет? Вывести true или false (логическое значение).
Указания: Год является високосным если он кратен 4, но при этом не кратен 100, либо кратен 400.

✍ Решение:

year = 2017
is_true = year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
print(is_true)

Задание Python 1_7: Напишите программу, которая определяет, верно ли, что введённое число – четырёхзначное. Вывести true или false (логическое значение).Задание Python 1_8: Напишите программу, которая вводит с клавиатуры номер месяца и определяет, сколько дней в этом месяце. Предусмотреть сообщение об ошибке в случае ввода неверного числа.


Поділитись