evgeny 2 недель назад
Родитель c0c32b352c
Сommit 86cba145db

Двоичные данные
TEMA4/Figure_1.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 20 KiB

Двоичные данные
TEMA4/Ris1.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 20 KiB

Двоичные данные
TEMA4/Ris2.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 26 KiB

Двоичные данные
TEMA4/Ris3.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 14 KiB

Двоичные данные
TEMA4/Ris4.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 16 KiB

Двоичные данные
TEMA4/Ris5.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 31 KiB

@ -0,0 +1,29 @@
## Напишите инструкцию запоминания в переменной текущего времени в секундах с начала эпохи. Преобразуйте это время в Московское региональное время. Создайте кортеж с элементами – целыми числами от 27 до 147 через 15. Рассчитайте сумму элементов кортежа и определите значение отношения синуса этой суммы к корню квадратному из неё. Отобразите полученное значение в виде: «Результат = ХХХ» с округлением до 5 знаков после точки.
```py
import time
# Текущее время в секундах
time.time()
1759145565.96384
# Московское время
time.localtime(секунды + 3*3600)
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=29, tm_hour=17, tm_min=30, tm_sec=34, tm_wday=0, tm_yday=272, tm_isdst=0)
# или
print(f"Московское время: {time.asctime(мск_время)}")
Московское время: Mon Sep 29 17:30:34 2025
# Кортеж с целыми числами
кортеж = tuple(range(27, 148, 15))
кортеж
(27, 42, 57, 72, 87, 102, 117, 132, 147)
sum(кортеж)
783
сумма = sum(кортеж)
# Отношение синуса суммы к корню
import math
результат=round(math.sin(сумма) / math.sqrt(сумма), 5)
print("Результат =", результат)
Результат = -0.02419
```

@ -0,0 +1,2 @@
Python 3.13.7 (tags/v3.13.7:bcee1c3, Aug 14 2025, 14:15:11) [MSC v.1944 64 bit (AMD64)] on win32
Enter "help" below or click "Help" above for more information.

@ -0,0 +1,57 @@
## Общее контрольное задание Снегура Дана
```py
import math
import cmath
import time
import random
import string
import statistics
```
# 1. Комплексное число и операции
```py
math.floor((round(cmath.phase(0.2+0.8j), 2) * 20) / 3), (round(cmath.phase(0.2+0.8j), 2) * 20) % 3
(8, 2.6000000000000014)
```
# 2. Текущее московское время
```py
moscow_time = time.localtime(time.time() + 3 * 3600) # UTC+3 для Москвы
current_time_str = f"{moscow_time.tm_hour:02d}:{moscow_time.tm_min:02d}"
moscow_time
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=19, tm_hour=20, tm_min=43, tm_sec=20, tm_wday=4, tm_yday=262, tm_isdst=0)
current_time_str
'20:43'
```
# 3. Случайная выборка дней недели
```py
week_days = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье']
random_days = random.sample(week_days, 3)
random_days
['Вторник', 'Пятница', 'Воскресенье']
```
# 4. Случайный выбор числа из последовательности
```py
sequence = list(range(14, 33, 3))
random_number = random.choice(sequence)
random_number
20
sequence
[14, 17, 20, 23, 26, 29, 32]
```
# 5. Генерация нормально распределенного числа и списка букв
```py
N = round(random.gauss(15, 4))
N = max(1, N) # Гарантируем хотя бы 1 элемент
random_letters = random.choices(string.ascii_uppercase, k=N)
N
11
random_letters
['O', 'U', 'J', 'Y', 'U', 'Y', 'Y', 'S', 'D', 'K', 'G']
```
# 6. Временной интервал в минутах
```py
current_time = time.time()
time_interval_seconds = current_time - time.mktime(moscow_time)
time_interval_minutes = round(time_interval_seconds / 60, 2)
time_interval_minutes
-170.05
```

@ -0,0 +1,40 @@
Python 3.13.7 (tags/v3.13.7:bcee1c3, Aug 14 2025, 14:15:11) [MSC v.1944 64 bit (AMD64)] on win32
Enter "help" below or click "Help" above for more information.
import math
import cmath
import time
import random
import string
import statistics
math.floor((round(cmath.phase(0.2+0.8j), 2) * 20) / 3), (round(cmath.phase(0.2+0.8j), 2) * 20) % 3
(8, 2.6000000000000014)
time.localtime(time.time() + 3 * 3600)
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=19, tm_hour=20, tm_min=42, tm_sec=40, tm_wday=4, tm_yday=262, tm_isdst=0)
moscow_time = time.localtime(time.time() + 3 * 3600) # UTC+3 для Москвы
current_time_str = f"{moscow_time.tm_hour:02d}:{moscow_time.tm_min:02d}"
moscow_time
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=19, tm_hour=20, tm_min=43, tm_sec=20, tm_wday=4, tm_yday=262, tm_isdst=0)
>>> current_time_str
'20:43'
>>> week_days = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье']
>>> random_days = random.sample(week_days, 3)
>>> random_days
['Вторник', 'Пятница', 'Воскресенье']
>>> sequence = list(range(14, 33, 3))
>>> random_number = random.choice(sequence)
>>> random_number
20
>>> sequence
[14, 17, 20, 23, 26, 29, 32]
>>> N = round(random.gauss(15, 4))
>>> N = max(1, N) # Гарантируем хотя бы 1 элемент
>>> random_letters = random.choices(string.ascii_uppercase, k=N)
>>> N
11
>>> random_letters
['O', 'U', 'J', 'Y', 'U', 'Y', 'Y', 'S', 'D', 'K', 'G']
>>> current_time = time.time()
>>> time_interval_seconds = current_time - time.mktime(moscow_time)
>>> time_interval_minutes = round(time_interval_seconds / 60, 2)
>>> time_interval_minutes
-170.05

@ -0,0 +1,114 @@
Python 3.13.7 (tags/v3.13.7:bcee1c3, Aug 14 2025, 14:15:11) [MSC v.1944 64 bit (AMD64)] on win32
Enter "help" below or click "Help" above for more information.
time_tuple = (2025, 9, 18, 16, 12, 46, 3, 261, 0)
time_obj = time.struct_time(time_tuple)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
time_obj = time.struct_time(time_tuple)
NameError: name 'time' is not defined. Did you forget to import 'time'?
import time
time_obj = time.struct_time(time_tuple)
time_obj
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=18, tm_hour=16, tm_min=12, tm_sec=46, tm_wday=3, tm_yday=261, tm_isdst=0)
seconds = time.mktime(time_obj)
seconds
1758201166.0
back_to_time = time.localtime(seconds
)
back_to_time
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=18, tm_hour=16, tm_min=12, tm_sec=46, tm_wday=3, tm_yday=261, tm_isdst=0)
import pylab
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
import pylab
ModuleNotFoundError: No module named 'pylab'
import pylab
x=list(range(-3,55,4))
t=list(range(15))
pylab.plot(t,x) #Создание графика в оперативной памяти
[<matplotlib.lines.Line2D object at 0x0000027668162490>]
pylab.title('Первый график')
Text(0.5, 1.0, 'Первый график')
pylab.xlabel('время')
Text(0.5, 0, 'время')
pylab.ylabel('сигнал')
Text(0, 0.5, 'сигнал')
pylab.show() #Отображение графика на экране
X1=[12,6,8,10,7]
X2=[5,7,9,11,13]
pylab.plot(X1)
[<matplotlib.lines.Line2D object at 0x0000027669976C10>]
pylab.plot(X2)
[<matplotlib.lines.Line2D object at 0x0000027669976D50>]
pylab.show()
pylab.hist(grades, bins=5, edgecolor='black', alpha=0.7, color='skyblue')
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
pylab.hist(grades, bins=5, edgecolor='black', alpha=0.7, color='skyblue')
NameError: name 'grades' is not defined
grades = [85, 92, 78, 65, 90, 85, 88, 72, 95, 81, 85, 90, 78, 85, 92]
categories = ['A', 'B', 'C', 'D', 'F']
values = [3, 7, 8, 2, 1]
pylab.hist(grades, bins=5, edgecolor='black', alpha=0.7, color='skyblue')
(array([1., 1., 3., 5., 5.]), array([65., 71., 77., 83., 89., 95.]), <BarContainer object of 5 artists>)
pylab.title('Гистограмма распределения оценок')
Text(0.5, 1.0, 'Гистограмма распределения оценок')
pylab.xlabel('Оценки')
Text(0.5, 0, 'Оценки')
pylab.ylabel('Частота')
Text(0, 0.5, 'Частота')
pylab.grid(axis='y', alpha=0.75)
pylab.show()
pylab.show()
pylab.hist(grades, bins=5, edgecolor='black', alpha=0.7, color='skyblue')
(array([1., 1., 3., 5., 5.]), array([65., 71., 77., 83., 89., 95.]), <BarContainer object of 5 artists>)
pylab.title('Гистограмма распределения оценок')
Text(0.5, 1.0, 'Гистограмма распределения оценок')
pylab.xlabel('Оценки')
Text(0.5, 0, 'Оценки')
pylab.ylabel('Частота')
Text(0, 0.5, 'Частота')
pylab.grid(axis='y', alpha=0.75)
pylab.show()
data = [23, 45, 67, 34, 89, 56, 72, 41, 58, 64, 39, 51, 47, 62, 55]
pylab.bar(categories, values, color=['red', 'orange', 'yellow', 'green', 'blue'], alpha=0.7)
<BarContainer object of 5 artists>
pylab.title('Столбчатая диаграмма распределения по категориям')
Text(0.5, 1.0, 'Столбчатая диаграмма распределения по категориям')
pylab.xlabel('Категории')
Text(0.5, 0, 'Категории')
pylab.ylabel('Количество')
Text(0, 0.5, 'Количество')
pylab.grid(axis='y', alpha=0.75)
pylab.show()
mean_value = statistics.mean(data)
Traceback (most recent call last):
File "<pyshell#48>", line 1, in <module>
mean_value = statistics.mean(data)
NameError: name 'statistics' is not defined. Did you forget to import 'statistics'?
import statistics
>>> mean_value = statistics.mean(data)
>>> median_value = statistics.median(data)
>>> mode_value = statistics.mode(data)
>>> stdev_value = statistics.stdev(data)
>>> variance_value = statistics.variance(data)
>>> quantiles_value = statistics.quantiles(data, n=4)
>>> harmonic_mean_value = statistics.harmonic_mean(data)
>>> pylab.hist(data, bins=6, edgecolor='black', alpha=0.7, color='lightgreen', label='Распределение данных')
(array([1., 3., 4., 4., 2., 1.]), array([23., 34., 45., 56., 67., 78., 89.]), <BarContainer object of 6 artists>)
>>> pylab.axvline(mean_value, color='red', linestyle='--', linewidth=2, label=f'Среднее: {mean_value:.2f}')
<matplotlib.lines.Line2D object at 0x000002766864C2D0>
>>> pylab.axvline(median_value, color='blue', linestyle='--', linewidth=2, label=f'Медиана: {median_value}')
<matplotlib.lines.Line2D object at 0x000002766864C410>
>>> pylab.axvline(mode_value, color='green', linestyle='--', linewidth=2, label=f'Мода: {mode_value}')
<matplotlib.lines.Line2D object at 0x000002766864C550>
>>> pylab.title('Гистограмма данных со статистическими показателями')
Text(0.5, 1.0, 'Гистограмма данных со статистическими показателями')
>>> pylab.xlabel('Значения')
Text(0.5, 0, 'Значения')
>>> pylab.ylabel('Частота')
Text(0, 0.5, 'Частота')
>>> pylab.legend()
<matplotlib.legend.Legend object at 0x000002766813F620>
>>> pylab.grid(alpha=0.3)
>>> pylab.show()

@ -0,0 +1,244 @@
Python 3.13.7 (tags/v3.13.7:bcee1c3, Aug 14 2025, 14:15:11) [MSC v.1944 64 bit (AMD64)] on win32
Enter "help" below or click "Help" above for more information.
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None. Otherwise
the return value has the same type as the number. ndigits may be negative.
type(round)
<class 'builtin_function_or_method'>
range(23)
range(0, 23)
gg=range(76,123,9)
qq=["Снегура", "Туровец", "Хатюхин", "Шабатов"]
ff=zip(gg,qq)
tuple(ff)
((76, 'Снегура'), (85, 'Туровец'), (94, 'Хатюхин'), (103, 'Шабатов'))
a=tuple(ff)
a[1]
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
a[1]
IndexError: tuple index out of range
b=list(ff)
b[1]
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
b[1]
IndexError: list index out of range
gg
range(76, 123, 9)
tuple(gg)
(76, 85, 94, 103, 112, 121)
list(gg)
[76, 85, 94, 103, 112, 121]
c= list(zip(gg, qq))
c[1]
(85, 'Туровец')
exec(input('введите инструкции:'))
введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3)
gg
221.456
numbers = [1, 2, 3, 4, 5]
list(map(str, numbers))
['1', '2', '3', '4', '5']
divmod(3,7)
(0, 3)
import math
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', 'fma', '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!.
math.factorial(5)
120
math.sin(180)
-0.8011526357338304
heip(math.sin)
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
heip(math.sin)
NameError: name 'heip' is not defined. Did you mean: 'help'?
help(math.sin)
Help on built-in function sin in module math:
sin(x, /)
Return the sine of x (measured in radians).
help(math.acos)
Help on built-in function acos in module math:
acos(x, /)
Return the arc cosine (measured in radians) of x.
The result is between 0 and pi.
math.acos(-0.8011526357338304)
2.500015072176682
heip(math.degrees)
Traceback (most recent call last):
File "<pyshell#30>", line 1, in <module>
heip(math.degrees)
NameError: name 'heip' is not defined. Did you mean: 'help'?
help(math.degrees)
Help on built-in function degrees in module math:
degrees(x, /)
Convert angle x from radians to degrees.
math.degrees(180)
10313.240312354817
hep(math.exp)
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
hep(math.exp)
NameError: name 'hep' is not defined. Did you mean: 'hex'?
help(math.exp)
Help on built-in function exp in module math:
exp(x, /)
Return e raised to the power of x.
math.exp(2)
7.38905609893065
math.log(10)
2.302585092994046
math.log(8, 2)
3.0
math.log10(10)
1.0
math.sqrt(4)
2.0
math.ceil(2.3)
3
math.ceil(2.3)
3
math.floor(2.3)
2
math.floor(-2.3)
-3
math.ceil(-2.3)
-2
math.pi
3.141592653589793
import cmath
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']
cmath.sqrt(1.2-0.5j)
(1.118033988749895-0.22360679774997896j)
cmath.phase(1-0.5j)
-0.4636476090008061
dir(random)
Traceback (most recent call last):
File "<pyshell#50>", line 1, in <module>
dir(random)
NameError: name 'random' is not defined. Did you forget to import 'random'?
import random
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', '_parse_args', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', 'betavariate', 'binomialvariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'main', '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.
random.seed()
random.seed(42)
random.random()
0.6394267984578837
random.uniform(5, 15)
5.25010755222667
random.randint(1, 100)
36
random.gauss(0, 1)
0.017593105583573694
a=[1,2,3,4,5,6,7]
random.choice(a)
1
random.shuffle(a)
a
[4, 2, 3, 1, 5, 7, 6]
random.sample(range(100), 5)
[4, 3, 11, 27, 29]
random.betavariate(2, 5)
0.3918844780644009
random.gammavariate(2, 1)
2.219353519271194
random_values = [
# 1. Равномерное распределение [0, 10)
random.uniform(0, 10),
# 2. Нормальное распределение (mu=50, sigma=10)
random.gauss(50, 10),
# 3. Бета-распределение (alpha=2, beta=5)
random.betavariate(2, 5),
# 4. Гамма-распределение (alpha=3, beta=2)
random.gammavariate(3, 2)
]
random_values
[5.892656838759088, 55.47961646339978, 0.5314696353281997, 2.163791803055314]
distributions = [
"Равномерное [0, 10)",
"Нормальное (μ=50, σ=10)",
"Бета (α=2, β=5)",
"Гамма (α=3, β=2)"
]
list(zip(random_values, distributions))
[(5.892656838759088, 'Равномерное [0, 10)'), (55.47961646339978, 'Нормальное (μ=50, σ=10)'), (0.5314696353281997, 'Бета (α=2, β=5)'), (2.163791803055314, 'Гамма (α=3, β=2)')]
import time
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()
c1
1758211745.990668
c2=time.time()-c1
с2
Traceback (most recent call last):
File "<pyshell#76>", line 1, in <module>
с2
NameError: name 'с2' is not defined
>>> c2
87.25691390037537
>>> dat=time.gmtime()
>>> dat
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=18, tm_hour=16, tm_min=12, tm_sec=46, tm_wday=3, tm_yday=261, tm_isdst=0)
>>> dat.tm_mon
9
>>> dat.tm_year
2025
>>> dat.tm_mday
18
>>> dat.tm_hour
16
>>> dat.tm_min
12
>>> dat.tm_sec
46
>>> dat.tm_wday
3
>>> dat.tm_yday
261
>>> dat.tm_isdst
0

@ -0,0 +1,39 @@
Python 3.13.7 (tags/v3.13.7:bcee1c3, Aug 14 2025, 14:15:11) [MSC v.1944 64 bit (AMD64)] on win32
Enter "help" below or click "Help" above for more information.
round(123.456,1)
123.5
round(123.456,0)
123.0
dir(round)
['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__text_signature__']
type(123.5)
<class 'float'>
type(round(123.0)
)
<class 'int'>
type(round(123.456,1))
<class 'float'>
>>> type(round(123.456,0))
<class 'float'>
>>> type(123.0)
<class 'float'>
>>> round(123.456)
123
>>> type(123)
<class 'int'>
>>> gg=range(76,123,9)
>>> type(gg)
<class 'range'>
>>> list(gg)
[76, 85, 94, 103, 112, 121]
>>> range(23)
range(0, 23)
>>> qq="Снегура"
>>> qq=["Снегура", "Туровец", "Хатюхин", "Шабатов"]
>>> ff=zip(gg,qq)
>>> ff
<zip object at 0x00000203B0C7EF40>
>>> type(ff)
<class 'zip'>
>>> tuple(ff)
((76, 'Снегура'), (85, 'Туровец'), (94, 'Хатюхин'), (103, 'Шабатов'))

@ -0,0 +1,373 @@
#Тема 4 Туровец Евгений
## 2. Стандартные функции. Находятся в модуле builtins, который становится доступным без импорта при запуске среды IDLE.
### 2.1. Функция round – округление числа с заданной точностью.
```py
round(123.456,1)
123.5
round(123.456,0)
123.0
type(round(123.456,1))
<class 'float'>
type(round(123.456,0))
<class 'float'>
type(123.0)
<class 'float'>
type(123.5)
<class 'float'>
round(123.456)
123
type(123)
<class 'int'>
type(round)
<class 'builtin_function_or_method'>
```
### 2.2. Функция range – создание последовательности целых чисел с заданным шагом или, по умолчанию, с шагом 1.
```py
gg=range(76,123,9) #генерирует числа, начиная с 76 и прибавляя 9, пока не достигнет числа, которое больше или равно 123
type(gg)
<class 'range'>
list(gg)
[76, 85, 94, 103, 112, 121]
range(23) #функция создаст последовательность чисел от 0 до 22 включительно с шагом 1
range(0, 23)
```
### 2.3. Функция zip – создание общего объекта, элементами которого являются кортежи, составленные из элементов двух или более объектов-последовательностей (zip – застежка-«молния»). Длина результирующего объекта равна длине самого короткого объекта из двух аргументов функции.
```py
qq=["Снегура", "Туровец", "Хатюхин", "Шабатов"]
list(gg)
[76, 85, 94, 103, 112, 121]
ff=zip(gg,qq)
ff
<zip object at 0x00000203B0C7EF40>
type(ff) #количество элементов-кортежей в объекте определяется размерностью меньшего объекта
<class 'zip'>
tuple(ff)
((76, 'Снегура'), (85, 'Туровец'), (94, 'Хатюхин'), (103, 'Шабатов'))
ff[1] #непосредственно объект ff, возвращаемый функцией zip, является итератором. У итераторов нет метода __getitem__, который позволяет обращаться к элементам по индексу. Попытка сделать это вызовет ошибку TypeError.
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
ff[1]
TypeError: 'zip' object is not subscriptable
c= list(zip(gg, qq)) #для обращения по индексу можно преобразовать в другой тип
c[1]
(85, 'Туровец')
```
### 2.4. Функция eval – вычисление значения выражения, корректно записанного на языке Python и пред-ставленного в виде символьной строки.
```py
fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156')
коэффициент усиления=4
dan
-136.0
```
### 2.5. Функция exec – чтение и выполнение объекта-аргумента функции. Этот объект должен представ-лять собой строку символов с совокупностью инструкций на языке Python.
```py
exec(input('введите инструкции:')) #ввела perem=-123.456;gg=round(abs(perem)+98,3) после инструкции
введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3)
gg
221.456
```
### 2.6. Самостоятельно изучите и попробуйте применить функции abs, pow, max, min, sum, divmod, len, map.
```py
abs(-5)
5
```
```py
len('Длина строки')
12
```
```py
max(2,3,4)
4
```
```py
min(2,3,4)
2
```
```py
pow(2,3)
8
```
```py
sum(a)
22
```
```py
numbers = [1, 2, 3, 4, 5]
list(map(str, numbers))
['1', '2', '3', '4', '5']
```
```py
#divmod() — это встроенная функция, которая принимает два числа и возвращает пару чисел (кортеж), состоящую из результата целочисленного деления (частного) и остатка от деления.
divmod(3,7)
(0, 3)
```
## 3. Функции из стандартного модуля math – совокупность разнообразных математических функций.
```py
import math
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', 'fma', '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!.
math.factorial(5)
120
math.sin(180) #из радиан в значение синуса
-0.8011526357338304
math.acos(-0.8011526357338304) #из радиан в значение косинуса
2.500015072176682
math.degrees(180) #из радиан в градусы
10313.240312354817
math.exp(2) #e в степени 2
7.38905609893065
math.log(10) #натуральный логарифм по основанию e
2.302585092994046
math.log(8, 2) #логарифм 8 по основанию 2
3.0
math.log10(10) #логарифм 10 по основанию 10
1.0
math.sqrt(4)
2.0
math.ceil(2.3) #наименьшее целое число, большее или равное 2.3(округление вверх)
3
math.ceil(-2.3)
-2
math.floor(2.3) #округление вниз
2
math.floor(-2.3)
-3
math.pi
3.141592653589793
```
## 4. Функции из модуля cmath – совокупность функций для работы с комплексными числами.
```py
import cmath
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']
cmath.sqrt(1.2-0.5j) #квадратный корень из комплексного числа
(1.118033988749895-0.22360679774997896j)
cmath.phase(1-0.5j) #расчета фазы
-0.4636476090008061
```
## 5. Стандартный модуль random – совокупность функций для выполнения операций с псевдослучайными числами и выборками.
```py
import random
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', '_parse_args', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', 'betavariate', 'binomialvariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'main', '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.
# Установка начального значения для воспроизводимости
random.seed(42) # Фиксируем seed для одинаковых результатов
#random() - равномерное распределение [0, 1)
random.random()
0.6394267984578837
# uniform(a, b) - равномерное распределение [a, b]
random.uniform(5, 15)
5.25010755222667
# randint(a, b) - случайное целое [a, b]
random.randint(1, 100)
36
# gauss(mu, sigma) - нормальное распределение
random.gauss(0, 1)
0.017593105583573694
# choice(sequence) - случайный выбор
a=[1,2,3,4,5,6,7]
random.choice(a)
1
# shuffle(sequence) - перемешивание
random.shuffle(a)
a
[4, 2, 3, 1, 5, 7, 6]
# sample(population, k) - выборка без повторений
random.sample(range(100), 5)
[4, 3, 11, 27, 29]
# betavariate(alpha, beta) - бета-распределение
random.betavariate(2, 5)
0.3918844780644009
# gammavariate(alpha, beta) - гамма-распределение
random.gammavariate(2, 1)
2.219353519271194
```
## 5.1. Создание списка с 4 случайными значениями
```py
random_values = [
# 1. Равномерное распределение [0, 10)
random.uniform(0, 10),
# 2. Нормальное распределение (mu=50, sigma=10)
random.gauss(50, 10),
# 3. Бета-распределение (alpha=2, beta=5)
random.betavariate(2, 5),
# 4. Гамма-распределение (alpha=3, beta=2)
random.gammavariate(3, 2)
]
random_values
[5.892656838759088, 55.47961646339978, 0.5314696353281997, 2.163791803055314]
distributions = [
"Равномерное [0, 10)",
"Нормальное (μ=50, σ=10)",
"Бета (α=2, β=5)",
"Гамма (α=3, β=2)"
]
list(zip(random_values, distributions))
[(5.892656838759088, 'Равномерное [0, 10)'), (55.47961646339978, 'Нормальное (μ=50, σ=10)'), (0.5314696353281997, 'Бета (α=2, β=5)'), (2.163791803055314, 'Гамма (α=3, β=2)')]
```
## 6. Функции из модуля time – работа с календарем и со временем.
```py
import time
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() #функция time возвращает время в секундах, прошедшее с начала эпохи, за которое обычно принимается 1.01.1970г.
c1
1758211745.990668
c2=time.time()-c1 #временной интервал в секундах, со времени ввода предыдущей инструкции
c2
87.25691390037537
dat=time.gmtime() #получение объекта класса struct_time, содержащего полную информацию о текущем времени. Эта функция возвращает, так называемое, «Всемирное координированное время» (UTC). Московское время MSK опережает UTC на 3 часа
dat
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=18, tm_hour=16, tm_min=12, tm_sec=46, tm_wday=3, tm_yday=261, tm_isdst=0)
dat.tm_mon
9
dat.tm_year
2025
dat.tm_mday
18
dat.tm_hour
16
dat.tm_min
12
dat.tm_sec
46
dat.tm_wday #День недели - четверг (дни недели: 0=понедельник, 1=вторник, 2=среда, 3=четверг, 4=пятница, 5=суббота, 6=воскресенье)
3
dat.tm_yday #День года - 261-й день в году (считая с 1 января = 1)
261
dat.tm_isdst #Летнее время - не действует (0 = зимнее время, 1 = летнее время, -1 = неизвестно)
0
```
```py
time.localtime() #Получение местного времени
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=18, tm_hour=19, tm_min=22, tm_sec=25, tm_wday=3, tm_yday=261, tm_isdst=0)
time.asctime() #Получение текущего времени, представление времени из кортежа в строку
'Thu Sep 18 19:26:35 2025'
time.ctime() #Преобразование времени в секундах, прошедшего с начала эпохи, в строку
'Thu Sep 18 19:28:56 2025'
time.sleep(3) #Прерывание работы программы на заданное время(3 секунды)
time_tuple = (2025, 9, 18, 16, 12, 46, 3, 261, 0)
time_obj = time.struct_time(time_tuple)
time_obj
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=18, tm_hour=16, tm_min=12, tm_sec=46, tm_wday=3, tm_yday=261, tm_isdst=0)
seconds = time.mktime(time_obj) #Преобразование времени из типа кортежа или struct_time в число секунд с начала эпохи
seconds
1758201166.0
back_to_time = time.localtime(seconds) #Обратное преобразование
back_to_time
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=18, tm_hour=16, tm_min=12, tm_sec=46, tm_wday=3, tm_yday=261, tm_isdst=0)
```
## 7. Графические функции.
```py
import pylab
x=list(range(-3,55,4))
t=list(range(15))
pylab.plot(t,x) #Создание графика в оперативной памяти
[<matplotlib.lines.Line2D object at 0x0000027668162490>]
pylab.title('Первый график')
Text(0.5, 1.0, 'Первый график')
pylab.xlabel('время')
Text(0.5, 0, 'время')
pylab.ylabel('сигнал')
Text(0, 0.5, 'сигнал')
pylab.show() #Отображение графика на экране
```
![alt text]({58781A87-6633-474F-A77A-BE36643822E4}.png)
```py
X1=[12,6,8,10,7]
X2=[5,7,9,11,13]
pylab.plot(X1)
[<matplotlib.lines.Line2D object at 0x0000027669976C10>]
pylab.plot(X2)
[<matplotlib.lines.Line2D object at 0x0000027669976D50>]
pylab.show()
```
![alt text]({32B82522-D8D5-43AA-9C7F-4991CE02A603}.png)
```py
# Данные для гистограмм и столбчатых диаграмм
grades = [85, 92, 78, 65, 90, 85, 88, 72, 95, 81, 85, 90, 78, 85, 92]
categories = ['A', 'B', 'C', 'D', 'F']
values = [3, 7, 8, 2, 1]
pylab.hist(grades, bins=5, edgecolor='black', alpha=0.7, color='skyblue')
(array([1., 1., 3., 5., 5.]), array([65., 71., 77., 83., 89., 95.]), <BarContainer object of 5 artists>)
pylab.title('Гистограмма распределения оценок')
Text(0.5, 1.0, 'Гистограмма распределения оценок')
pylab.xlabel('Оценки')
Text(0.5, 0, 'Оценки')
pylab.ylabel('Частота')
Text(0, 0.5, 'Частота')
pylab.grid(axis='y', alpha=0.75)
pylab.show()
```
![alt text]({A5B2DC00-DB40-42EF-B410-DAA0781F2422}.png)
```py
pylab.bar(categories, values, color=['red', 'orange', 'yellow', 'green', 'blue'], alpha=0.7)
<BarContainer object of 5 artists>
pylab.title('Столбчатая диаграмма распределения по категориям')
Text(0.5, 1.0, 'Столбчатая диаграмма распределения по категориям')
pylab.xlabel('Категории')
Text(0.5, 0, 'Категории')
pylab.ylabel('Количество')
Text(0, 0.5, 'Количество')
pylab.grid(axis='y', alpha=0.75)
pylab.show()
```
![alt text]({7D368B80-7126-4808-B3BC-84E476BAECC5}.png)
```py
# Данные для статистического анализа
data = [23, 45, 67, 34, 89, 56, 72, 41, 58, 64, 39, 51, 47, 62, 55]
import statistics
mean_value = statistics.mean(data)
median_value = statistics.median(data)
mode_value = statistics.mode(data)
stdev_value = statistics.stdev(data)
variance_value = statistics.variance(data)
quantiles_value = statistics.quantiles(data, n=4)
harmonic_mean_value = statistics.harmonic_mean(data)
pylab.hist(data, bins=6, edgecolor='black', alpha=0.7, color='lightgreen', label='Распределение данных')
(array([1., 3., 4., 4., 2., 1.]), array([23., 34., 45., 56., 67., 78., 89.]), <BarContainer object of 6 artists>)
pylab.axvline(mean_value, color='red', linestyle='--', linewidth=2, label=f'Среднее: {mean_value:.2f}')
<matplotlib.lines.Line2D object at 0x000002766864C2D0>
pylab.axvline(median_value, color='blue', linestyle='--', linewidth=2, label=f'Медиана: {median_value}')
<matplotlib.lines.Line2D object at 0x000002766864C410>
pylab.axvline(mode_value, color='green', linestyle='--', linewidth=2, label=f'Мода: {mode_value}')
<matplotlib.lines.Line2D object at 0x000002766864C550>
pylab.title('Гистограмма данных со статистическими показателями')
Text(0.5, 1.0, 'Гистограмма данных со статистическими показателями')
pylab.xlabel('Значения')
Text(0.5, 0, 'Значения')
pylab.ylabel('Частота')
Text(0, 0.5, 'Частота')
pylab.legend()
<matplotlib.legend.Legend object at 0x000002766813F620>
pylab.grid(alpha=0.3)
pylab.show()
```
![alt text]({30B6F251-3FE2-4A0E-9F0D-99FBE95923B5}.png)

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 74 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 64 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 56 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 47 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 40 KiB

Загрузка…
Отмена
Сохранить