Числовые типы данных
Вы уже знакомы с основными числовыми типами данных int и float. К ним применимы стандартные функции, часть из которых приведена в табл. 3.3.
|
|
|
|
Таблица 3.3
|
Функция
|
Назначение
|
Тип аргумента
|
Тип результата
|
|
|
|
|
|
abs (х)
|
Модуль x
|
|
int, float
|
Такой же, как у аргумента
|
|
|
|
|
round (х)
|
Округление вещественного х
|
float
|
int, float
|
|
доближайшегоцелого
|
|
|
|
(можно задать
|
количество
|
|
|
|
знаков после запятой
|
|
|
int (х)
|
Преобразование
|
веществен-
|
str, float
|
int
|
|
ного или строкового х к це-
|
|
|
|
лому
|
|
|
|
Большинство стандартных функций языка Python разбиты на группы по назначению, и каждая группа записана в отдельный файл, который называется модулем. Математические функ-ции собраны в модуле math:
import math
После этого обращение должно выглядеть как:
y = math.sqrt (x)
Можно загрузить в рабочее пространство все функции модуля:
from math import *
Теперь к функциям модуля math можно обращаться так же, как к встроенным функциям:
y=sqrt (x)
|
Функция
|
|
Назначение
|
|
Тип аргумента
|
|
Тип результата
|
|
|
|
|
|
|
|
|
|
|
|
|
sqrt (х)
|
|
Квадратный корень из x
|
|
int, float
|
|
float
|
|
|
|
|
|
|
|
|
|
|
|
|
sin (x)
|
|
Синус угла x, заданного в радиа-
|
|
int, float
|
|
float
|
|
|
|
нах
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для работы со случайными числами нужно использовать модуль random
|
|
|
|
|
|
|
|
|
|
|
Функция
|
|
Назначение
|
|
|
Тип аргумента
|
|
Тип результата
|
|
|
|
|
|
|
|
random()
|
|
Случайное число от 0 до 1
|
|
-
|
|
float
|
|
|
|
|
|
|
|
randint(a,b)
|
|
Случайное число n, a ≤ n ≤ b
|
|
int
|
|
int
|
|
|
|
|
|
|
|
|
|
|
Пример: для того, чтобы записать в переменную a случайное число в диапазоне от 1 до 10, можно использовать следующие операторы:
from random import randinta = randint (1,10)
Исследуем работу функций round и int, применив их к некоторому вещественному х.
Соответствующая программа будет иметь вид:
Программа 3
print ('Исследование функций round, int ')
x=float(input (' Введите х>>'))
print ('Округление - ', round(x))
print ('Целая часть - ', int(x))
Запустите программу несколько раз для каждого х ={10,2; 10,8; -10,2; -10,8}. Что вы мо-жете сказать о типе результата каждой из этих функций?
Целочисленный тип данных
Над целыми числами в языке Python выполняются следующие операции:
получение целого частного (//)
получение целого остатка деления (%)
возведение в степень (**)
Результаты первых пяти операций — целые числа. Результатом операции деления может быть вещественное число.
Рассмотрим пример использования операций // и %, записав на языке Python программу нахождения суммы цифр вводимого с клавиатуры натурального трёхзначного числа.
Используем тот факт, что положительное трёхзначное число можно представить в виде следующей суммы: х = а * 100 + b * 10 + с, где a, b, c — цифры числа.
Программа 4
print ('Нахождение суммы цифр трёхзначного числа'); x = int (input ('Введите исходное число>>'))
b = x % 100 // 10
= x % 10 s = a + b + c print ('s= ', s)
Чему равна сумма цифр числа 123? А числа -123? Совпадают ли ваши результаты с ре-зультатами работы программы? Как можно объяснить и исправить ошибку в программе?
Строковый тип данных
Значением строковой величины (тип str) является произвольная последовательность сим-волов, заключенная в апострофы. Символами в языке Python является любой из символов, кото-рый можно получить на экране нажатием на клавиатуре одной из клавиш или комбинации кла-виш, а также некоторых других символов, в том числе и невидимых. Множество таких символов состоит из 256 элементов, каждому из которых согласно используемой кодовой таблице постав-лен в соответствие код — число 0 до 255.
Символы, соответствующие первым 32 кодам, являются управляющими, а остальные — изображаемыми. К изображаемым символам относится и пробел, имеющий код 32.
Знакам препинания, знакам арифметических операций, цифрам, прописным и строчным латинским буквам соответствуют коды от 33 до 127. Буквам национального алфавита соответ-ствуют коды с номерами 128 и далее.
тексте программы переменную строкового типа можно задать, заключив цепочку сим-волов в апострофы или кавычки: s = '5'; c = 'Вook'; c1 = "1 * ".
Если значение символьной переменной считывается с клавиатуры, то его следует набирать без апострофов.
В Python (как и в алгоритмическом языке) строки можно сцеплять.
Пример. Запишем на языке Python программу, которая запрашивает имя и выводит при-ветствие.
Программа 5
print ('Как тебя зовут?')
n = input()
print ('Привет,', n)
Логический тип данных
Как известно, величины логического типа принимают всего два значения; в Python это False и True. Эти константы определены так, что False < True.
Логические значения получаются в результате выполнения операций сравнения числовых, символьных, строковых и логических выражений. Поэтому в Python логической переменной можно присваивать результат операции сравнения.
Пример. Напишем программу, определяющую истинность высказывания «Число n явля-ется чётным» для произвольного целого числа n.
Пусть ans — логическая переменная, а n — целая переменная. Тогда в результате выпол-нения оператора присваивания
ans = n % 2 == 0
переменной ans будет присвоено значение True при любом чётном n и False в противном случае.
Программа 6
print ('Определение истинности высказывания о чётности числа')
n = int (print ('Введите исходное число>>'))
ans = n % 2 == 0
print ('Число', n, 'является чётным -', ans)
Логическим переменным можно присваивать значения логических выражений, построен-ных с помощью известных вам логических функций и, или, не, которые в Python обозначаются соответственно and, or, not.
Пример. Напишем программу, определяющую истинность высказывания «Треугольник с длинами сторон а, b, с является равнобедренным» для произвольных целых чисел a, b, c.
Программа 7
print ('Определение истинности высказывания о равнобедренном треугольнике')
= int (input('Введите значение а>>'))
= int (input('Введите значениеb>>'))
= int (input('Введите значениеc>>')) ans = (a== b) or (а== с) or (b== c)
print ('Треугольник с длинами сторон', а, ',', b, ', ', с,' является равнобедренным –', ans)
Достарыңызбен бөлісу: |