Выражения и операции
Операция
|
Обозначение
|
Пример
|
Сложение
|
+
|
3 + 4 = 7
|
Вычитание
|
-
|
7 - 2 = 5
|
Умножение
|
*
|
2 * 2 = 4
|
Деление
|
/
|
8 / 2 = 4
|
Целочисленное деление
|
//
|
9 // 2 = 4
|
Остаток от деления
|
%
|
9 % 2 = 1
|
Возведение в степень
|
**
|
2 ** 3 = 8
|
Арифметические операции
Логические выражения могут содержать величины или выражения, которые сравниваются между собой с помощью операций сравнения.
Логическое выражение может принимать лишь два значения: «истина» или «ложь».
Выражения и операции
Операция
|
Символы
|
Пример
|
равно
|
==
|
x == 0
|
не равно
|
!=
|
x != 0
|
больше
|
>
|
x > 0
|
меньше
|
<
|
x < 0
|
больше или равно
|
>=
|
x >= 0
|
меньше или равно
|
<=
|
x <= 0
|
Операции сравнения
Например:
Выражения и операции
v+a*t**2/2
1
2
3
4
Приоритет выполнения операций:
1) операции в скобках; 2) возведение в степень; 3) умножение и деление (в том числе // и %); 4) сложение и вычитание. Операции одинакового приоритета выполняются в порядке записи слева направо.
Если выражение слишком длинное и не помещается в одной строке, необходимо заключить всё выражение в скобки (перенос внутри скобок разрешён).
(a+b)*h/2
1
2
3
Оператор (команда) присваивания
Оператор присваивания записывает в переменную, имя которой находится слева от знака «=» значение выражения, находящегося справа. Старое значение переменной при этом стирается.
Общий вид оператора:
a = 5
b = a
c = a+b
c = c+1
a
b
c
5
5
10
11
<имя переменной> = <выражение>;
Например: В памяти:
В языке Python допускается множественное присваивание:
| |
Запись оператора:
|
Равносильная запись:
|
a, b = 0, 1
|
a = 0
b = 1
|
a = b = 0
|
a = 0
b = 0
|
Допускается запись нескольких операторов в одной строке через символ «;».
Оператор вывода
Вывод данных из оперативной памяти на экран осуществляется с помощью оператора (функции) вывода print («печатать»):
print ("Масса равна", m, "кг");
Масса□равна□15□кг
Для m=15 на экране появится:
Например:
- На экран выводятся значения переменных и выражений, строковые значения выводится на экран без кавычек.
- Выводимые значения разделяются пробелом (по умолчанию).
- После выполнения оператора происходит автоматический переход на новую строку.
print(<выражение1>, <выражение2>, ..., <выражениеN>)
Здесь и далее символом □ обозначен пробел.
- Вместо пробела можно использовать другие символы в качестве разделителя, указав их после слова sep («separator»).
- Чтобы убрать переход на новую строку после выполнения оператора, используется параметр end.
Оператор вывода
Нужный вариант вывода
|
Оператор
|
На экране
|
По умолчанию
|
print (1, 20, 300)
|
1□20□300
|
Без разделителя
|
print (1, 20, 300, sep="")
|
120300
|
Через запятую и пробел
|
print (1, 20, 300, sep=", ")
|
1,□20,□300
|
Каждое с новой строки
|
print (1, 20, 300, sep="\n")
|
1
20
300
|
Без перехода на новую строку
|
print (1, end="")
print (20)
|
120
|
Форматный вывод с помощью символьной строки позволяет задать количество позиций на экране, занимаемых выводимой величиной.
- В фигурных скобках задается формат вывода очередного элемента.
- Для целых чисел указывается количество позиций, отводимых на число.
- Если цифр в числе меньше, слева от числа выводятся пробелы.
- Для вещественного числа указывается общее количество позиций, через точку количество позиций в дробной части и буквы: d (целое число), f (вещественное) или e (экспоненциальный формат).
Оператор вывода
Фрагмент программы
|
На экране
|
print ("{:3}{:3}{:3}".format(13, 7, 22))
|
□13□□7□22
|
a = 7
print ("{:4d}{:4d}".format(a, a*a))
|
□□□7□□49
|
a = 1/3; b = 1/9
print ("{:7.3f}{:7.4f}".format(a, b))
|
□□0.333□0.1111
|
a = 1/3
print ("{:10.3e}".format(a))
|
□3.333e-01
|
Оператор ввода
Для ввода значений переменных с клавиатуры в процессе выполнения программы используется оператор (функция) ввода input («ввод»):
При выполнении оператора:
- компьютер переходит в режим ожидания данных;
- пользователь вводит с клавиатуры данные в виде строки символов;
- для завершения ввода пользователь нажимает клавишу Enter;
- введенная строка записывается в указанную переменную.
Если вводится не строка, а число, необходимо выполнить преобразование типов с помощью функций int (для целых) и float (для вещественных).
Например: На экране:
<имя_переменной> = input()
print("Введите слово и два числа:")
x = input()
y = int(input())
z = float(input())
print(x, y, z)
Введите слово и два числа:
ноль
1
2
ноль 1 2.0
Можно в скобках указать текст подсказки для пользователя.
Например:
x = input("Введите слово: ")
y = int(input("Введите целое число: "))
z = float(input("Введите вещественное число: "))
print (x, y, z)
Оператор ввода
Введите слово: ноль
Введите целое число: 1
Введите вещественное число: 2
ноль 1 2.0
На экране:
Можно в одной строке ввести несколько значений через пробел. Для этого используется функция split («расщепить»). Затем данные необходимо преобразовать к нужному типу по отдельности.
Например:
a, b, c = input("Введите a,b,c через пробел: ").split()
a, b, c = int(a), int(b), int(c)
print (a, b, c)
Оператор ввода
Введите a,b,c через пробел: 1 2 3
1 2 3
На экране:
Оператор комментария
Используется для включения в программу любых пояснений, предназначенных человеку.
Комментариями считается любой текст после символа # до конца строки. При выполнении программы комментарии игнорируются.
Введите радиус: 10
c= 62.80
s= 314.00
На экране:
# Длина окружности и площадь круга
r = float(input("Введите радиус: "))
c = 2*3.14*r # длина окружности
s = 3.14*r**2 # площадь круга
print ("c=", "{:7.3f}".format (c))
print ("s=", "{:7.3f}".format (s))
Пример программы:
Функции имеют определенное имя и один или несколько аргументов в скобках. Функция возвращает свое значение в то место программы, из которого она вызывается.
Стандартные функции
Некоторые стандартные функции, встроенные в ядро языка Python
Функция
|
Назначение
|
Тип аргумента
|
Тип результата
|
abs(x)
|
абсолютная величина (модуль числа x)
|
int, float
|
как у аргумента
|
int(x)
|
преобразование вещественного числа к целому значению (отбрасывание дробной части)
|
float
|
int
|
round(x)
|
округление вещественного числа до заданного количества знаков после точки (по умолчанию – до ближайшего целого)
|
float
|
int, float
|
Стандартные функции модуля math
Функция
|
Назначение
|
Тип аргумента
|
Тип результата
|
sqrt(x)
|
квадратный корень из x
|
int, float
|
float
|
sin(x)
|
синус угла x в радианах
|
int, float
|
float
|
cos(x)
|
косинус угла x в радианах
|
int, float
|
float
|
Стандартные функции
Например:
# подключаем все функции из модуля math
from math import *
Большинство стандартных функций языка Python разбиты на группы по назначению, каждая группа записана в отдельном файле, который называется модулем. Подключение модуля осуществляется командой import.
Стандартные функции
Стандартные функции модуля random
Функция
|
Назначение
|
Тип аргумента
|
Тип результата
|
random()
|
случайное число из полуинтервала [0, 1)
|
―
|
float
|
randint(a, b)
|
случайное число из отрезка [a, b]
|
int
|
int
|
Можно подключать не все функции, а только необходимую. Например:
# подключаем функцию randint() из модуля random
from random import randint
(-b + sqrt(b**2 – 4*a*c))/(2*a)
1
2
3
4
5
6
7
8
После подключения модуля к его функциям можно обращаться так же, как к встроенным. Например:
Стандартные функции
Пример со стандартными функциями:
# Стандартные функции
a = 3.56
print (a)
print (round(a))
print (round(a, 1))
print (int(a))
from math import *
b = 16
print (sqrt(b))
from random import randint
x = randint(1, 10)
y = randint(1, 10)
z = randint(1, 10)
print (x, y, z)
3.56
4
3.6
3
4.0
2 10 8
На экране:
Составить программу, меняющую местами значения двух переменных
# Обмен значений переменных
# Классическое решение
a = int(input("a= "))
b = int(input("b= "))
t = a # временная переменная
a = b
b = t
print ("a=", a)
print ("b=", b)
Задача 1
# Обмен значений переменных
# Возможности языка Python
a = int(input("a= "))
b = int(input("b= "))
a, b = b, a
print ("a=", a)
print ("b=", b)
a= 2
b= 5
a= 5
b= 2
На экране:
# Площадь треугольника
print ("Введите длины сторон треугольника: ")
a = float(input("a="))
b = float(input("b="))
c = float(input("c="))
p = (a+b+c)/2 # полупериметр
from math import sqrt # подключаем модуль math
s = sqrt(p*(p-a)*(p-b)*(p-c)) # формула Герона
print ("Площадь треугольника", "{:7.2f}".format(s))
Составить программу для вычисления площади треугольника по известным длинам его сторон.
Задача 2
Формула Герона:
Введите длины сторон треугольника:
a=5
b=6
c=7
Площадь треугольника 14.70
На экране:
Составить программу, вычисляющую сумму цифр введенного с клавиатуры целого трёхзначного числа
# Сумма цифр трехзначного числа
# Трёхзначное число x = a•100 + b•10 + c
# где а, b, с - цифры этого числа
x = int(input("Введите трехзначное число: "))
a = x // 100 # сотни
b = x % 100 // 10 # десятки
c = x % 10 # единицы
s = a + b + c
print ("Сумма цифр равна", s)
Задача 3
Введите трехзначное число: 345
Сумма цифр равна 12
На экране:
Используемые материалы:
- Босова Л.Л. Информатика. 8-9 классы. Начала программирования на языке Python. Дополнительные главы к учебникам – М. : БИНОМ. Лаборатория знаний, 2020.
- Поляков К.Ю. Информатика. 10 класс. Базовый и углубленный уровни : в 2ч. Ч. 2 – М. : БИНОМ. Лаборатория знаний, 2018.
Достарыңызбен бөлісу: |