форкнуто от main/python-labs
Сравнить коммиты
2 Коммитов
5ef3a40778
...
f0f3b623cf
| Автор | SHA1 | Дата |
|---|---|---|
|
|
f0f3b623cf | 5 дней назад |
|
|
9067761e97 | 5 дней назад |
|
После Ширина: | Высота: | Размер: 20 KiB |
|
После Ширина: | Высота: | Размер: 15 KiB |
|
После Ширина: | Высота: | Размер: 10 KiB |
@ -0,0 +1,237 @@
|
||||
# Отчет по теме 1
|
||||
|
||||
Гордиевских Данил, А-03-23
|
||||
|
||||
## Пункт 2
|
||||
|
||||
### Пункт 2.1
|
||||
|
||||
Функция round – округление числа с заданной точностью
|
||||
|
||||
```py
|
||||
round(123.456,1)
|
||||
123.5
|
||||
round(123.456,0)
|
||||
123.0
|
||||
round(123.456)
|
||||
123
|
||||
```
|
||||
|
||||
### Пункт 2.2
|
||||
|
||||
Функция range – создание последовательности целых чисел с заданным шагом
|
||||
|
||||
```py
|
||||
gg=range(76,123,9)
|
||||
gg
|
||||
range(76, 123, 9)
|
||||
list(gg)
|
||||
[76, 85, 94, 103, 112, 121]
|
||||
range(23)
|
||||
range(0, 23)
|
||||
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]
|
||||
```
|
||||
|
||||
### Пункт 2.3
|
||||
|
||||
Функция zip – создание общего объекта, элементами которого являются кортежи, составленные из элементов двух или более объектов-последовательностей
|
||||
|
||||
```py
|
||||
qq = ["Гордиевских","Девятова","Креветов"]
|
||||
zip(gg,qq)
|
||||
<zip object at 0x1130be780>
|
||||
tuple(zip(gg,qq))
|
||||
((76, 'Гордиевских'), (85, 'Девятова'), (94, 'Креветов'))
|
||||
ff = zip(gg,qq)
|
||||
ff[1][1]
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#13>", line 1, in <module>
|
||||
ff[1][1]
|
||||
TypeError: 'zip' object is not subscriptable
|
||||
fff = tuple(ff)
|
||||
fff[1][1]
|
||||
'Девятова'
|
||||
```
|
||||
|
||||
### Пункт 2.4
|
||||
|
||||
Функция eval – вычисление значения выражения, корректно записанного на языке Python и представленного в виде символьной строки
|
||||
|
||||
```py
|
||||
fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156')
|
||||
коэффициент усиления=31
|
||||
fff
|
||||
31.0
|
||||
dan
|
||||
-1.0
|
||||
```
|
||||
|
||||
### Пункт 2.5
|
||||
|
||||
Функция exec – чтение и выполнение объекта-аргумента функции
|
||||
|
||||
```py
|
||||
exec(input('введите инструкции:'))
|
||||
введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3)
|
||||
gg
|
||||
221.456
|
||||
```
|
||||
|
||||
### Пункт 2.5
|
||||
|
||||
Функция divmod() возвращает кортеж из целого и остатка от деления первого аргумента от второго
|
||||
|
||||
```py
|
||||
divmod(25,6)
|
||||
(4, 1)
|
||||
```
|
||||
|
||||
## Пункт 3
|
||||
|
||||
Функции из стандартного модуля math
|
||||
|
||||
```py
|
||||
import math
|
||||
dir(math)
|
||||
['__doc__', '__file__', '__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.pi
|
||||
3.141592653589793
|
||||
from math import *
|
||||
sin(45)
|
||||
0.8509035245341184
|
||||
sin(60)
|
||||
-0.3048106211022167
|
||||
sin(radians(30))
|
||||
0.49999999999999994
|
||||
|
||||
|
||||
|
||||
sin(2*pi/7+exp(0.23))
|
||||
0.8334902641414562
|
||||
```
|
||||
|
||||
## Пункт 4
|
||||
|
||||
Функции из модуля cmath
|
||||
|
||||
```py
|
||||
import cmath
|
||||
dir(cmath)
|
||||
['__doc__', '__file__', '__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
|
||||
randomnoe = [random.uniform(0, 10),random.gauss(0, 1),random.betavariate(2, 5),random.gammavariate(2, 1)]
|
||||
randomnoe
|
||||
[0.987945011841781, 0.3286620967978268, 0.11054691058687621, 3.3461896723529287]
|
||||
```
|
||||
|
||||
## Пункт 6
|
||||
|
||||
Функции из модуля time
|
||||
|
||||
```py
|
||||
import time
|
||||
dir(time)
|
||||
['CLOCK_MONOTONIC', 'CLOCK_MONOTONIC_RAW', 'CLOCK_MONOTONIC_RAW_APPROX', 'CLOCK_PROCESS_CPUTIME_ID', 'CLOCK_REALTIME', 'CLOCK_THREAD_CPUTIME_ID', 'CLOCK_UPTIME_RAW', 'CLOCK_UPTIME_RAW_APPROX', '_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock_getres', 'clock_gettime', 'clock_gettime_ns', 'clock_settime', 'clock_settime_ns', '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', 'tzset']
|
||||
c1=time.time()
|
||||
c1
|
||||
1761226276.074031
|
||||
c2=time.time()-c1;c2
|
||||
19.872960090637207
|
||||
c2=time.time()-c1;c2
|
||||
33.6310248374939
|
||||
dat=time.gmtime();dat
|
||||
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=23, tm_hour=13, tm_min=32, tm_sec=21, tm_wday=3, tm_yday=296, tm_isdst=0)
|
||||
dat.tm_mon
|
||||
10
|
||||
time.localtime()
|
||||
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=23, tm_hour=16, tm_min=33, tm_sec=50, tm_wday=3, tm_yday=296, tm_isdst=0)
|
||||
```
|
||||
|
||||
## Пункт 7
|
||||
|
||||
Графические функции
|
||||
|
||||
График одной переменной
|
||||
|
||||
```py
|
||||
import pylab
|
||||
Matplotlib is building the font cache; this may take a moment.
|
||||
import pylab
|
||||
x=list(range(-3,55,4))
|
||||
t=list(range(15))
|
||||
pylab.plot(t,x)
|
||||
[<matplotlib.lines.Line2D object at 0x10d114410>]
|
||||
pylab.title('Первый график')
|
||||
Text(0.5, 1.0, 'Первый график')
|
||||
pylab.xlabel('время')
|
||||
Text(0.5, 47.04444444444444, 'время')
|
||||
pylab.ylabel('сигнал')
|
||||
Text(93.94444444444443, 0.5, 'сигнал')
|
||||
pylab.show()
|
||||
```
|
||||
|
||||
Полученный график представлен на рисунке
|
||||
|
||||

|
||||
|
||||
Круговая диаграмма
|
||||
|
||||
```py
|
||||
region=['Центр','Урал','Сибирь','Юг']
|
||||
naselen=[65,12,23,17]
|
||||
pylab.pie(naselen,labels=region)
|
||||
([<matplotlib.patches.Wedge object at 0x10d10eba0>, <matplotlib.patches.Wedge object at 0x117c4e5d0>, <matplotlib.patches.Wedge object at 0x117c4e990>, <matplotlib.patches.Wedge object at 0x117c4ec10>], [Text(-0.19101313413904503, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.4848612919483732, 'Юг')])
|
||||
pylab.show()
|
||||
```
|
||||
|
||||
Полученный график представлен на рисунке
|
||||
|
||||

|
||||
|
||||
Испробовано построение гистограммы
|
||||
|
||||
```py
|
||||
pylab.hist([1,2,3,4,5],3)
|
||||
(array([2., 1., 2.]), array([1. , 2.33333333, 3.66666667, 5. ]), <BarContainer object of 3 artists>)
|
||||
pylab.show()
|
||||
```
|
||||
|
||||
Полученный график представлен на рисунке
|
||||
|
||||

|
||||
|
||||
## Пункт 8
|
||||
|
||||
Изучение состава модуля Statistics
|
||||
|
||||
```py
|
||||
import statistics
|
||||
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', '_kernel_invcdfs', '_mean_stdev', '_newton_raphson', '_normal_dist_inv_cdf', '_quartic_invcdf', '_quartic_invcdf_estimate', '_random', '_rank', '_sqrt_bit_width', '_sqrtprod', '_ss', '_sum', '_triweight_invcdf', '_triweight_invcdf_estimate', 'acos', 'asin', 'atan', 'bisect_left', 'bisect_right', 'correlation', 'cos', 'cosh', 'count', 'covariance', 'defaultdict', 'erf', 'exp', 'fabs', 'fmean', 'fsum', 'geometric_mean', 'groupby', 'harmonic_mean', 'hypot', 'isfinite', 'isinf', 'itemgetter', 'kde', 'kde_random', 'linear_regression', 'log', 'math', 'mean', 'median', 'median_grouped', 'median_high', 'median_low', 'mode', 'multimode', 'namedtuple', 'numbers', 'pi', 'pstdev', 'pvariance', 'quantiles', 'random', 'reduce', 'repeat', 'sin', 'sqrt', 'stdev', 'sumprod', 'sys', 'tan', 'tau', 'variance']
|
||||
viborka = [0.12,-1.08,-0.47,0,0.03,-0.28,0.14,0.37,1.22,-0.25,0.22,-0.6,0.78,0,1.02,0.45,2.59,-0.82,-1.14,-0.46,1.15,-0.92,1.12,1.3,-0.13,-0.83,1.01,0.34,0.04,-0.07,0.19,-0.8,1.28,0.56,0.61,0.38,-0.9,1.04,0.35,-0.15,-0.99,1.63,0.89,1.74,0.5,-0.37,-0.7,0.35,0.99,1.14]
|
||||
statistics.mean(viborka)
|
||||
0.2518
|
||||
statistics.stdev(viborka)
|
||||
0.8335801566442308
|
||||
statistics.median(viborka)
|
||||
0.20500000000000002
|
||||
```
|
||||
@ -0,0 +1,71 @@
|
||||
# Общее контрольное задание
|
||||
|
||||
Гордиевских Данил, А-03-23
|
||||
|
||||
## Задание 1
|
||||
|
||||
Напишите и исполните единое выражение, реализующее последовательное выполнение сле-дующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления
|
||||
|
||||
```py
|
||||
divmod((round(phase(5+6j),2)*20),3)
|
||||
(5.0, 2.6000000000000014)
|
||||
```
|
||||
|
||||
## Задание 2
|
||||
|
||||
Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.
|
||||
|
||||
```py
|
||||
from time import *
|
||||
nowatime = localtime()
|
||||
nowatime
|
||||
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=23, tm_hour=20, tm_min=20, tm_sec=30, tm_wday=3, tm_yday=296, tm_isdst=0)
|
||||
stri = str(nowatime.tm_hour)+":"+str(nowatime.tm_min)
|
||||
stri
|
||||
'20:20'
|
||||
```
|
||||
|
||||
## Задание 3
|
||||
|
||||
Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели
|
||||
|
||||
```py
|
||||
days = ["Пн","Вт","Ср","Чт","Пт","Сб","Вс"]
|
||||
from random import *
|
||||
ra = sample(days, 3); ra
|
||||
['Чт', 'Вт', 'Пн']
|
||||
```
|
||||
|
||||
## Задание 4
|
||||
|
||||
Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3
|
||||
|
||||
```py
|
||||
nums = sample(range(14,32,3), 1); nums
|
||||
[26]
|
||||
```
|
||||
|
||||
## Задание 5
|
||||
|
||||
Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стан-дартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита
|
||||
|
||||
```py
|
||||
from random import *
|
||||
N = round(gauss(15,4))
|
||||
alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
|
||||
randlet = sample(alphabet,N)
|
||||
N; randlet
|
||||
9
|
||||
['o', 'q', 'j', 's', 'a', 'v', 'r', 'i', 'c']
|
||||
```
|
||||
|
||||
## Задание 6
|
||||
|
||||
Напишите инструкцию для определения временного интервала в минутах, прошедшего с мо-мента предыдущего (из п.2) определения временных параметров
|
||||
|
||||
```py
|
||||
from time import *
|
||||
c1 = time()
|
||||
c2 = time()-c1; c2
|
||||
21.224413871765137
|
||||
```
|
||||
Загрузка…
Ссылка в новой задаче