|
После Ширина: | Высота: | Размер: 20 KiB |
|
После Ширина: | Высота: | Размер: 26 KiB |
|
После Ширина: | Высота: | Размер: 15 KiB |
|
После Ширина: | Высота: | Размер: 14 KiB |
|
После Ширина: | Высота: | Размер: 13 KiB |
|
После Ширина: | Высота: | Размер: 54 KiB |
|
После Ширина: | Высота: | Размер: 64 KiB |
|
После Ширина: | Высота: | Размер: 50 KiB |
|
После Ширина: | Высота: | Размер: 62 KiB |
|
После Ширина: | Высота: | Размер: 66 KiB |
@ -0,0 +1,210 @@
|
||||
# ТЕМА 4 "Зеленкина Ксения Михайловна"
|
||||
# 2.1
|
||||
print(round(123.456,1))
|
||||
print(round(123.456,0))
|
||||
|
||||
print(round(123.456))
|
||||
|
||||
# 2.2.
|
||||
gg=range(76,123,9)
|
||||
print(gg)
|
||||
|
||||
print(list(gg))
|
||||
|
||||
print(list(range(23)))
|
||||
|
||||
# 2.3.
|
||||
qq = ['Зеленкина', 'Криви', 'Цветкова', 'Капитонов']
|
||||
print(qq)
|
||||
ff = zip(gg, qq)
|
||||
print(ff)
|
||||
|
||||
result_tuple = tuple(ff)
|
||||
print(result_tuple)
|
||||
print(result_tuple[0])
|
||||
print(result_tuple[2])
|
||||
|
||||
# 2.4.
|
||||
#fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156')
|
||||
#print(fff, dan)
|
||||
|
||||
# 2.5
|
||||
#exec(input('введите инструкции:'))
|
||||
|
||||
# 2.6
|
||||
print(abs(-7.5))
|
||||
print(pow(3, 4))
|
||||
|
||||
numbers = [5, 2, 8, 1]
|
||||
print(max(numbers))
|
||||
print(min(numbers))
|
||||
|
||||
print(sum(numbers))
|
||||
|
||||
a, b = divmod(17, 5)
|
||||
print(a, b)
|
||||
|
||||
text = "Hello"
|
||||
print(len(text))
|
||||
|
||||
numbers = [1, 2, 3, 4]
|
||||
text_numbers = list(map(str, numbers))
|
||||
print(text_numbers)
|
||||
|
||||
#3
|
||||
import math
|
||||
print(dir(math))
|
||||
help(math.factorial)
|
||||
print(math.factorial(5))
|
||||
|
||||
import math
|
||||
|
||||
print(dir(math))
|
||||
help(math.factorial)
|
||||
|
||||
print(math.factorial(5))
|
||||
print(math.sin(math.pi/2))
|
||||
print(math.acos(0.5))
|
||||
print(math.degrees(math.pi))
|
||||
print(math.radians(180))
|
||||
print(math.exp(1))
|
||||
print(math.log(100))
|
||||
print(math.log10(100))
|
||||
print(math.sqrt(25))
|
||||
print(math.ceil(4.2))
|
||||
print(math.floor(4.9))
|
||||
print(math.pi)
|
||||
|
||||
result = math.sin(2 * math.pi / 7 + math.exp(0.23))
|
||||
print(result)
|
||||
|
||||
#4
|
||||
import cmath
|
||||
print(dir(cmath))
|
||||
print(cmath.sqrt(1.2-0.5j))
|
||||
print(cmath.phase(1-0.5j))
|
||||
|
||||
#5
|
||||
import random
|
||||
print(dir(random))
|
||||
help(random.seed)
|
||||
print(random.seed())
|
||||
|
||||
import random
|
||||
|
||||
random.seed(42)
|
||||
|
||||
print(random.random())
|
||||
print(random.uniform(10, 20))
|
||||
print(random.randint(1, 6))
|
||||
print(random.gauss(0, 1))
|
||||
|
||||
fruits = ["яблоко", "банан", "апельсин", "киви"]
|
||||
print(random.choice(fruits))
|
||||
|
||||
cards = ["Туз", "Король", "Дама", "Валет"]
|
||||
random.shuffle(cards)
|
||||
print(cards)
|
||||
|
||||
numbers = list(range(1, 51))
|
||||
print(random.sample(numbers, 5))
|
||||
|
||||
print(random.betavariate(2, 5))
|
||||
print(random.gammavariate(2, 1))
|
||||
print(random.randint(100, 999))
|
||||
print(random.uniform(-5, 5))
|
||||
|
||||
random_values = [random.uniform(0, 1), random.gauss(0, 1), random.betavariate(2, 5), random.gammavariate(2, 1)]
|
||||
print(random_values)
|
||||
|
||||
#6
|
||||
import time
|
||||
print(dir(time))
|
||||
c1=time.time()
|
||||
print(c1)
|
||||
c2=time.time()-c1
|
||||
print(c2)
|
||||
dat=time.gmtime()
|
||||
print(dat)
|
||||
print(dat.tm_mon)
|
||||
|
||||
# local()
|
||||
local_time = time.localtime()
|
||||
print(local_time.tm_year)
|
||||
print(local_time.tm_mon)
|
||||
print(local_time.tm_mday)
|
||||
print(local_time.tm_hour)
|
||||
print(local_time.tm_min)
|
||||
print(local_time.tm_sec)
|
||||
|
||||
# asctim()
|
||||
time_str = time.asctime(local_time)
|
||||
print(time_str)
|
||||
|
||||
#ctime()
|
||||
current_seconds = time.time()
|
||||
print(current_seconds)
|
||||
time_from_seconds = time.ctime(current_seconds)
|
||||
print(time_from_seconds)
|
||||
|
||||
#sleep()
|
||||
print("Начинаем отсчет...")
|
||||
for i in range(3, 0, -1):
|
||||
print(f"{i}...")
|
||||
time.sleep(1)
|
||||
print("Запуск!")
|
||||
|
||||
#mtime
|
||||
seconds_from_struct = time.mktime(local_time)
|
||||
print(seconds_from_struct)
|
||||
|
||||
#Обратное преобразование из секунды
|
||||
print(time.localtime(c1))
|
||||
|
||||
# Графические функции.
|
||||
import pylab
|
||||
x=list(range(-3,55,4))
|
||||
t=list(range(15))
|
||||
pylab.plot(t, x) # Создание графика в оперативной памяти
|
||||
pylab.title('Первый график')
|
||||
pylab.xlabel('время')
|
||||
pylab.ylabel('сигнал')
|
||||
pylab.show() # Отображение графика на экране
|
||||
|
||||
X1=[12,6,8,10,7]
|
||||
X2=[5,7,9,11,13]
|
||||
pylab.plot(X1)
|
||||
pylab.plot(X2)
|
||||
pylab.show()
|
||||
|
||||
region=['Центр','Урал','Сибирь','Юг']
|
||||
naselen=[65,12,23,17]
|
||||
pylab.pie(naselen,labels=region)
|
||||
pylab.show()
|
||||
|
||||
#hist
|
||||
import matplotlib.pyplot as plt
|
||||
assessments = [3, 4, 5, 3, 4, 5, 5, 4, 3, 2, 4, 5, 3, 4, 5, 4, 3, 5, 4, 3]
|
||||
plt.hist(assessments, bins=5, color='lightblue', edgecolor='black')
|
||||
plt.xlabel('Оценки')
|
||||
plt.ylabel('Количество студентов')
|
||||
plt.title('Распределение оценок студентов')
|
||||
plt.show()
|
||||
|
||||
#bar
|
||||
fruits = ['Яблоки', 'Бананы', 'Апельсины', 'Груши']
|
||||
count = [25, 30, 15, 20]
|
||||
color = ['red', 'yellow', 'orange', 'green']
|
||||
plt.bar(fruits, count, color=color)
|
||||
plt.ylabel('Количество')
|
||||
plt.title('Любимые фрукты')
|
||||
plt.show()
|
||||
|
||||
#Statistic
|
||||
import statistics
|
||||
print(dir(statistics))
|
||||
data = [1, 2, 3, 4, 5, 5, 6]
|
||||
print("Mean:", statistics.mean(data))
|
||||
print("Median:", statistics.median(data))
|
||||
print("Mode:", statistics.mode(data))
|
||||
print("Stdev:", statistics.stdev(data))
|
||||
@ -0,0 +1,415 @@
|
||||
# Отчет по Теме 4
|
||||
|
||||
Зеленкина Ксения, А-02-23
|
||||
|
||||
## 1. Начало работы.
|
||||
Запустила интерактивную оболочку IDLE и открыла окно текстового редактора, куда буду фиксировать мои дальнейшие действия.
|
||||
|
||||
## 2. Стандартные функции.
|
||||
Они находятся в модуле __builtins__, который становится доступным без импорта при запуске среды IDLE.
|
||||
#### п. 2.1.
|
||||
Функция __round__ – округление числа с заданной точностью. Попробую данную функцию на следующих примерах.
|
||||
```py
|
||||
>>> print(round(123.456,1))
|
||||
123.5
|
||||
>>> print(round(123.456,0))
|
||||
123.0
|
||||
```
|
||||
Данные результаты имеют тип float. Первое выражение округляет до одного знака после запятой, второе — до целого числа.
|
||||
Попробуем выполнить следующую инструкцию:
|
||||
```py
|
||||
>>> print(round(123.456))
|
||||
123
|
||||
```
|
||||
Полученный результат имеет тип int.
|
||||
|
||||
#### п. 2.2.
|
||||
Функция __range__ – создание последовательности целых чисел с заданным шагом или, по умолчанию, с шагом 1.
|
||||
```py
|
||||
>>> gg=range(76,123,9)
|
||||
>>> print(gg)
|
||||
range(76, 123, 9)
|
||||
```
|
||||
Обратим внимание, что эта инструкция создает, так называемый, _«итерируемый объект»_ класса __range__. Чтобы увидеть получившуюся преобразуем его в список.
|
||||
```py
|
||||
>>> print(list(gg))
|
||||
[76, 85, 94, 103, 112, 121]
|
||||
```
|
||||
Также возможно вызвать функцию __range__ с одним аргументом.
|
||||
```py
|
||||
>>> print(list(range(23)))
|
||||
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
|
||||
```
|
||||
Мы получили объект, который содержит последовательность целых чисел от 0 до 22(включительно) с шагом 1.
|
||||
|
||||
#### п. 2.3.
|
||||
Функция __zip__ – создание общего объекта, элементами которого являются кортежи, составленные из элементов двух или более объектов-последовательностей.
|
||||
```py
|
||||
>>> qq = ['Зеленкина', 'Криви', 'Цветкова', 'Капитонов']
|
||||
>>> print(qq)
|
||||
['Зеленкина', 'Криви', 'Цветкова', 'Капитонов']
|
||||
>>> ff = zip(gg, qq)
|
||||
>>> print(ff)
|
||||
<zip object at 0x00000170234FAF40>
|
||||
>>> result_tuple = tuple(ff)
|
||||
>>> print(result_tuple)
|
||||
((76, 'Зеленкина'), (85, 'Криви'), (94, 'Цветкова'), (103, 'Капитонов'))
|
||||
```
|
||||
Количество элементов в ff равно минимальной длине из исходных списков gg и qq, то есть длине списка qq.
|
||||
Проверим, можно ли к объекту ff обращаться с указанием индекса.
|
||||
|
||||
```py
|
||||
>>> print(result_tuple[0])
|
||||
(76, 'Зеленкина')
|
||||
>>> print(result_tuple[2])
|
||||
(94, 'Цветкова')
|
||||
```
|
||||
К объекту ff можно обращаться с указанием индекса.
|
||||
|
||||
#### п. 2.4.
|
||||
Функция __eval__ – вычисление значения выражения, корректно записанного на языке Python и представленного в виде символьной строки.
|
||||
```py
|
||||
>>> fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156')
|
||||
>>> print(fff, dan)
|
||||
коэффициент усиления=3
|
||||
3.0 -141.0
|
||||
```
|
||||
|
||||
#### п. 2.5.
|
||||
Похожая на __eval__ функция __exec__ – чтение и выполнение объекта-аргумента функции. Напишем и выполним код по инструкции:
|
||||
```py
|
||||
>>> exec(input('введите инструкции:'))
|
||||
введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3)
|
||||
```
|
||||
Убедимся, что появился числовой объект с именем gg и со значением 221.456.
|
||||
```py
|
||||
>>> gg
|
||||
221.456
|
||||
>>> perem
|
||||
-123.456
|
||||
```
|
||||
|
||||
#### п. 2.6.
|
||||
Самостоятельно изучим и попробуем применить функции abs, pow, max, min, sum, divmod, len, map.
|
||||
```py
|
||||
>>> print(abs(-7.5))
|
||||
7.5
|
||||
>>> print(pow(3, 4))
|
||||
81
|
||||
>>> numbers = [5, 2, 8, 1]
|
||||
>>> print(max(numbers))
|
||||
8
|
||||
>>> print(min(numbers))
|
||||
1
|
||||
>>> print(sum(numbers))
|
||||
16
|
||||
>>> a, b = divmod(17, 5)
|
||||
>>> print(a, b)
|
||||
3 2
|
||||
>>> text = "Hello"
|
||||
>>> print('len("Hello") =', len(text))
|
||||
5
|
||||
numbers = [1, 2, 3, 4]
|
||||
text_numbers = list(map(str, numbers))
|
||||
print(text_numbers)
|
||||
['1', '2', '3', '4']
|
||||
```
|
||||
|
||||
## 3. Модуль math.
|
||||
Функции из стандартного модуля __math__ – совокупность разнообразных математических функций. Загрум модуль math с помощью инструкции. Затем узнаем содержание модуля с помощью
|
||||
функции _dir_. Изучим функцию расчета факториала __factorial__ с помощью функции __help__ и попробуем использовать эту функцию.
|
||||
_Обращение к функциям из импортированного модуля осуществляется с указанием имени модуля, по образцу: <имя модуля>.<имя функции>(<аргументы функции>)_
|
||||
```py
|
||||
>>> import math
|
||||
>>> print(dir(math))
|
||||
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'cbrt', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'exp2', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'sumprod', 'tan', 'tanh', 'tau', 'trunc', 'ulp']
|
||||
>>> help(math.factorial)
|
||||
Help on built-in function factorial in module math:
|
||||
factorial(n, /)
|
||||
Find n!.
|
||||
Raise a ValueError if x is negative or non-integral.
|
||||
>>> print(math.factorial(5))
|
||||
120
|
||||
```
|
||||
Аналогичным образом изучим и попробуем применить некоторые другие функции из этого модуля: _sin, acos, degrees, radians, exp, log, log10, sqrt, ceil, floor, pi._
|
||||
```py
|
||||
>>> import math
|
||||
>>> print(math.factorial(5))
|
||||
120
|
||||
>>> print(math.sin(math.pi/2))
|
||||
1.0
|
||||
>>> print(math.acos(0.5))
|
||||
1.0471975511965979
|
||||
>>> print(math.degrees(math.pi))
|
||||
180.0
|
||||
>>> print(math.radians(180))
|
||||
3.141592653589793
|
||||
>>> print(math.exp(1))
|
||||
2.718281828459045
|
||||
>>> print(math.log(100))
|
||||
4.605170185988092
|
||||
>>> print(math.log10(100))
|
||||
2.0
|
||||
>>> print(math.sqrt(25))
|
||||
5.0
|
||||
>>> print(math.ceil(4.2))
|
||||
5
|
||||
>>> print(math.floor(4.9))
|
||||
4
|
||||
>>> print(math.pi)
|
||||
3.141592653589793
|
||||
```
|
||||
Решение примера sin(2π/7+e0.23 ):
|
||||
```py
|
||||
>>> result = math.sin(2 * math.pi / 7 + math.exp(0.23))
|
||||
>>> print(result)
|
||||
0.8334902641414562
|
||||
```
|
||||
|
||||
## 4. Модуль cmath.
|
||||
Функции из модуля __cmath__ – совокупность функций для работы с комплексными числами.
|
||||
Начнём с импорта модуля, затем отобразим его атрибуты и изучим функцию для извлечения квадратного корня из комплексного числа и и функцию расчета фазы.
|
||||
```py
|
||||
>>> import cmath
|
||||
>>> print(dir(cmath))
|
||||
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau']
|
||||
>>> print(cmath.sqrt(1.2-0.5j))
|
||||
(1.118033988749895-0.22360679774997896j)
|
||||
>>> print(cmath.phase(1-0.5j))
|
||||
-0.4636476090008061
|
||||
```
|
||||
|
||||
## 5. Модуль random.
|
||||
Стандартный модуль __random__ – совокупность функций для выполнения операций с псевдослучайными числами и выборками.
|
||||
```py
|
||||
>>> import random
|
||||
>>> print(dir(random))
|
||||
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_ONE', '_Sequence', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_fabs', '_floor', '_index', '_inst', '_isfinite', '_lgamma', '_log', '_log2', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'binomialvariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
|
||||
>>> help(random.seed)
|
||||
Help on method seed in module random:
|
||||
|
||||
seed(a=None, version=2) method of random.Random instance
|
||||
Initialize internal state from a seed.
|
||||
|
||||
The only supported seed types are None, int, float,
|
||||
str, bytes, and bytearray.
|
||||
|
||||
None or no argument seeds from current time or from an operating
|
||||
system specific randomness source if available.
|
||||
|
||||
If *a* is an int, all bits are used.
|
||||
|
||||
For version 2 (the default), all of the bits are used if *a* is a str,
|
||||
bytes, or bytearray. For version 1 (provided for reproducing random
|
||||
sequences from older versions of Python), the algorithm for str and
|
||||
bytes generates a narrower range of seeds.
|
||||
>>> print(random.seed())
|
||||
None
|
||||
```
|
||||
|
||||
Далее самостоятельно изучим и попробуем применить следующие функции:
|
||||
```py
|
||||
>>> import random
|
||||
>>> random.seed(42)
|
||||
>>> print(random.random())
|
||||
0.6394267984578837
|
||||
>>> print(random.uniform(10, 20))
|
||||
10.25010755222667
|
||||
>>> print(random.randint(1, 6))
|
||||
3
|
||||
>>> print(random.gauss(0, 1))
|
||||
0.017593105583573694
|
||||
|
||||
>>> fruits = ["яблоко", "банан", "апельсин", "киви"]
|
||||
>>> print(random.choice(fruits))
|
||||
яблоко
|
||||
>>> cards = ["Туз", "Король", "Дама", "Валет"]
|
||||
>>> random.shuffle(cards)
|
||||
>>> print(cards)
|
||||
['Валет', 'Король', 'Дама', 'Туз']
|
||||
>>> numbers = list(range(1, 51))
|
||||
>>> print(random.sample(numbers, 5))
|
||||
[3, 2, 6, 14, 15]
|
||||
>>> print(random.betavariate(2, 5))
|
||||
0.3918844780644009
|
||||
>>> print(random.gammavariate(2, 1))
|
||||
2.219353519271194
|
||||
>>> print(random.randint(100, 999))
|
||||
703
|
||||
>>> print(random.uniform(-5, 5))
|
||||
-2.218092917693373
|
||||
```
|
||||
|
||||
Создадим список с 4 случайными значениями, подчиняющимися, соответственно, равномерному, нормальному, бета и гамма:
|
||||
```py
|
||||
random_values = [random.uniform(0, 1), random.gauss(0, 1), random.betavariate(2, 5), random.gammavariate(2, 1)]
|
||||
print(random_values)
|
||||
[0.869300320792934, 0.5479616463399781, 0.33952976689383546, 0.5704217216825608]
|
||||
```
|
||||
|
||||
## 6. Модуль time.
|
||||
Функции из модуля __time__ – работа с календарем и со временем.
|
||||
```py
|
||||
>>> import time
|
||||
>>> print(dir(time))
|
||||
['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'monotonic_ns', 'perf_counter', 'perf_counter_ns', 'process_time', 'process_time_ns', 'sleep', 'strftime', 'strptime', 'struct_time', 'thread_time', 'thread_time_ns', 'time', 'time_ns', 'timezone', 'tzname']
|
||||
>>> c1=time.time()
|
||||
>>> print(c1)
|
||||
1757970835.4250033
|
||||
```
|
||||
Изучим функцию __time__, возвращающую время в секундах, прошедшее с начала эпохи, за которое обычно принимается 1.01.1970г.
|
||||
```py
|
||||
>>> c2=time.time()-c1
|
||||
>>> print(c2)
|
||||
0.022925376892089844
|
||||
```
|
||||
Теперь изучим функцию __gmtime__.
|
||||
```py
|
||||
>>> dat=time.gmtime()
|
||||
>>> print(dat)
|
||||
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=15, tm_hour=21, tm_min=16, tm_sec=35, tm_wday=0, tm_yday=258, tm_isdst=0)
|
||||
>>> print(dat.tm_mon)
|
||||
9
|
||||
```
|
||||
__ Функция localtime()__ - местное время:
|
||||
```py
|
||||
>>> local_time = time.localtime()
|
||||
>>> print(local_time.tm_year)
|
||||
2025
|
||||
>>> print(local_time.tm_mon)
|
||||
9
|
||||
>>> print(local_time.tm_mday)
|
||||
18
|
||||
>>> print(local_time.tm_hour)
|
||||
10
|
||||
>>> print(local_time.tm_min)
|
||||
11
|
||||
>>> print(local_time.tm_sec)
|
||||
12
|
||||
```
|
||||
__Функция asctime()__ - ппреобразование представления времени из кортежа в строку:
|
||||
```py
|
||||
time_str = time.asctime(local_time)
|
||||
print(time_str)
|
||||
Thu Sep 18 10:22:12 2025
|
||||
```
|
||||
__Функция ctime()__ - преобразование времени в секундах, прошедшего с начала эпохи, в строку:
|
||||
```py
|
||||
>>> current_seconds = time.time()
|
||||
>>> print(current_seconds)
|
||||
1758180132.4304066
|
||||
>>> time_from_seconds = time.ctime(current_seconds)
|
||||
>>> print(time_from_seconds)
|
||||
Thu Sep 18 10:22:12 2025
|
||||
```
|
||||
|
||||
__Функция sleep()__ - прерывание работы программы на заданное время:
|
||||
```py
|
||||
>>> print("Начинаем отсчет...")
|
||||
>>> for i in range(3, 0, -1):
|
||||
>>> print(f"{i}...")
|
||||
>>> time.sleep(2)
|
||||
>>> print("Запуск!")
|
||||
```
|
||||
Вывод программы:
|
||||
```py
|
||||
Начинаем отсчет...
|
||||
3...
|
||||
2...
|
||||
1...
|
||||
Запуск!
|
||||
```
|
||||
Числа выводлись через 2 секунды.
|
||||
|
||||
__Функция mktime()__ - преобразование времени из типа кортежа или struct_time в число секунд с начала эпохи.
|
||||
```py
|
||||
>>> seconds_from_struct = time.mktime(local_time)
|
||||
>>> print(seconds_from_struct)
|
||||
1758180480.0
|
||||
```
|
||||
Обратное преобразование из секунд в местное время осуществляется той же функцией localtime():
|
||||
```py
|
||||
>>> print(time.localtime(c1))
|
||||
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=18, tm_hour=10, tm_min=29, tm_sec=52, tm_wday=3, tm_yday=261, tm_isdst=0)
|
||||
```
|
||||
|
||||
## 7. Графические функции.
|
||||
Импортируем модуль с инструкцией. Создадим два списка, один из которых будет содержать значения сигнала x, а другой – моменты времени измерения значений сигнала t. После этого введем инструкции создания и отображения графика x(t):
|
||||
```py
|
||||
import pylab
|
||||
x=list(range(-3,55,4))
|
||||
t=list(range(15))
|
||||
pylab.plot(t, x)
|
||||
pylab.title('Первый график')
|
||||
pylab.xlabel('время')
|
||||
pylab.ylabel('сигнал')
|
||||
pylab.show()
|
||||
```
|
||||
Мы полчили:
|
||||
<img src = "./photo1.png" width="500" height="300" align="center">
|
||||
|
||||
Изучим содержание окна с появившимся графиком и сохраним график в текущем каталоге в файле с именем __Ris1__.
|
||||
Рассмотрим способ построения нескольких графиков на одном рисунке. Для этого создадим два списка:
|
||||
```py
|
||||
>>> X1=[12,6,8,10,7]
|
||||
>>> X2=[5,7,9,11,13]
|
||||
>>> pylab.plot(X1)
|
||||
>>> pylab.plot(X2)
|
||||
>>> pylab.show()
|
||||
```
|
||||
<img src = "./photo2.png" width="500" height="300" align="center">
|
||||
|
||||
Теперь изучим возможность построения круговой диаграммы:
|
||||
```py
|
||||
>>> region=['Центр','Урал','Сибирь','Юг']
|
||||
>>> naselen=[65,12,23,17]
|
||||
>>> pylab.pie(naselen,labels=region)
|
||||
>> pylab.show()
|
||||
```
|
||||
<img src = "./photo3.png" width="500" height="300" align="center">
|
||||
Самостоятельно изучим и попробуем применить функции __hist__ и __bar__ для построения гистограмм и столбиковых диаграмм.
|
||||
__hist__
|
||||
```py
|
||||
>>>> import matplotlib.pyplot as plt
|
||||
>>> assessments = [3, 4, 5, 3, 4, 5, 5, 4, 3, 2, 4, 5, 3, 4, 5, 4, 3, 5, 4, 3]
|
||||
>>> plt.hist(assessments, bins=5, color='lightblue', edgecolor='black')
|
||||
>>> plt.xlabel('Оценки')
|
||||
>>> plt.ylabel('Количество студентов')
|
||||
>>> plt.title('Распределение оценок студентов')
|
||||
>>> plt.show()
|
||||
```
|
||||
<img src = "./photo4.png" width="500" height="300" align="center">
|
||||
|
||||
__bar__
|
||||
```py
|
||||
>>> fruits = ['Яблоки', 'Бананы', 'Апельсины', 'Груши']
|
||||
>>> count = [25, 30, 15, 20]
|
||||
>>> color = ['red', 'yellow', 'orange', 'green']
|
||||
>>> plt.bar(fruits, count, color=color)
|
||||
>>> plt.ylabel('Количество')
|
||||
>>> plt.title('Любимые фрукты')
|
||||
>>> plt.show()
|
||||
```
|
||||
<img src = "./photo5.png" width="500" height="300" align="center">
|
||||
|
||||
__statistics__
|
||||
Изучим состав статистического модуля __statistics__:
|
||||
```py
|
||||
>>> import statistics
|
||||
>> print(dir(statistics))
|
||||
['Counter', 'Decimal', 'Fraction', 'LinearRegression', 'NormalDist', 'StatisticsError', '_SQRT2', '__all__', '__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_coerce', '_convert', '_decimal_sqrt_of_frac', '_exact_ratio', '_fail_neg', '_float_sqrt_of_frac', '_integer_sqrt_of_frac_rto', '_isfinite', '_mean_stdev', '_normal_dist_inv_cdf', '_rank', '_sqrt_bit_width', '_ss', '_sum', 'bisect_left', 'bisect_right', 'correlation', 'count', 'covariance', 'defaultdict', 'erf', 'exp', 'fabs', 'fmean', 'fsum', 'geometric_mean', 'groupby', 'harmonic_mean', 'hypot', 'itemgetter', 'linear_regression', 'log', 'math', 'mean', 'median', 'median_grouped', 'median_high', 'median_low', 'mode', 'multimode', 'namedtuple', 'numbers', 'pstdev', 'pvariance', 'quantiles', 'random', 'reduce', 'repeat', 'sqrt', 'stdev', 'sumprod', 'sys', 'tau', 'variance']
|
||||
```
|
||||
Рассмотрим три функции:
|
||||
```py
|
||||
>>> data = [1, 2, 3, 4, 5, 5, 6]
|
||||
>>> print("Mean:", statistics.mean(data))
|
||||
>>> print("Median:", statistics.median(data))
|
||||
>>> print("Mode:", statistics.mode(data))
|
||||
>>> print("Stdev:", statistics.stdev(data))
|
||||
Mean: 3.7142857142857144
|
||||
Median: 4
|
||||
Mode: 5
|
||||
Stdev: 1.7994708216848747
|
||||
```
|
||||
|
||||
## Завершение работы.
|
||||