Skip to content

Latest commit

 

History

History
255 lines (220 loc) · 10.2 KB

1.md

File metadata and controls

255 lines (220 loc) · 10.2 KB

1.2 Пример. Выведите на печать и определите тип переменной

x = 3+5.2*7
y = None
z = 'a', 5, 12.345, (2, 'b')
df = [['Антонова Антонина', 34, 'ж'], ['Борисов Борис', 26, 'м']]
A = {1, 'title', 2, 'content'}

print(x, '|', type(x), '\n', y, '|', type(y), '\n',
      z, '|', type(z), '\n', df, '|', type(df), '\n', A, '|', type(A))

1.3 Задание. Выведите на печать и определите тип переменной

x = 5 >= 2
A = {1, 3, 7, 8}
B = {2, 4, 5, 10, 'apple'}
C = A & B
df = 'Антонова Антонина', 34, 'ж'
z = 'type'
D = [1, 'title', 2, 'content']

print(x, '|', type(x), '\n', A, '|', type(A), '\n', B, '|', type(B), '\n', C, '|', type(C), '\n',
      df, '|', type(df), '\n', z, '|', type(z), '\n', D, '|', type(D))

2.2 Пример. Вывести на экран является ли переменная х положительной, отрицательной или равна нулю

x = 125
if x<0:
    print("x отрицательный")
elif x==0:
    print("x равен нулю")
else:
    print("x положительный")

2.3 Задание. Напишите код. Задается х, напечатать какому из интервалов принадлежит: (-infinity, -5), [-5, 5] или от (5, +infinity)

print('x: ')
x = int(input())
if x < -5:
    print('(-infinity, -5)')
elif -5 <= x <= 5:
    print('[-5, 5]')
else:
    print('(5, +infinity)')

3.2.1 Пример. Вывести все числа от 1 до 10 с шагом 3

x = 1
while x <= 10:
    print(x)
    x += 3

3.2.2 Пример. Задан список. Напечатать все элементы списка

models = ['KNN', 'decision tree', 'linear model']
for model in models:
    print(model)

3.2.3 Пример. Создать список от 1 до 99 с шагом 7

list_int = range(1, 100, 7)
print(list(list_int))

3.2.4 Пример. Вывести на экран числа от 1 до 105 с шагом 25, используя функцию range()

for i in range(5, 106, 25):
    print(i)

3.2.5 Пример. Необходимо получить каждый k-й элемент массива a, начиная с элемента с индексом i (включительно) и заканчивая элементом с индексом j (не включительно), c шагом 2. Или переставить все элементы в обратном порядке.

a = [1, 2, 3, 4, 5, 6, 7, 8 ,9]
b = a[1:7:2]
c = a[::-1]
print(b)
print(c)

3.3.1 Задание. Выведите числа из примера на while (3.2.1) в обратном порядке

x = 10
while x >= 1:
    print(x)
    x -= 3

3.3.2 Задание. При решении задач машинного обучения часто в качестве объектов исследования выступает человек. Создайте список значимых характеристик (признаков)

print(['рост', 'вес', 'пол'])

3.3.3 Задание. Создать список чисел от 2 до 15 с шагом 1.

a = []
for i in range(2, 16, 2):
    a.append(i)
print(a)

3.3.4 Задание. Выведите числа из примера на for c функцией range() (3.2.4) в обратном порядке

for i in range(105, 4, -25):
    print(i)

3.3.5 Задание. Срез. Напишите код, который все элементы массива x с четными индексами переставит в обратном порядке

x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
x[0::2] = reversed(x[0::2])
print(x)

4.2.1 Пример. Рассчитать синус от е радиан и вывести результат на экран

import math as m
print(m.sin (m.e))

4.2.2 Пример. Для функции sin(𝑥𝑒 cos(𝑥)) на интервале [0;10] с шагом 0,05 построить график функции, закрасить площадь под ним и вычислить значение

import numpy as np
import matplotlib.pyplot as plt

# Для вычисления площади воспользуйте функции trapz(), вычисляющей интеграл по правилу трапеции.
from scipy.integrate import simps
from numpy import trapz
x = np.arange(0.0, 10, 0.1)
y = np.abs(np.sin(x*np.exp(np.cos(x))))
plt.grid()
plt.plot(x, y, c = "r")
plt.fill_between(x, y)

print(trapz(y))

4.2.3 Пример. Дано некоторое распределение оценок в группе за экзамен. Нарисовать круговую и точечную диаграммы распределения

from matplotlib import pyplot as plt
import numpy as np

marks = ['Неуд', 'Удовл', 'Хор', 'Отл']

data = [3, 7, 8, 4]
fig = plt.figure(figsize=(10, 7)) # Размер диаграммы
plt.pie(data, labels = marks)
plt.show()
plt.grid()
plt.scatter(marks, data)

4.3.1 Задание. Сравните результаты, какие выводы можно сделать о значениях? Постройте точечную диаграмму рассения полученного ряда

import random
import statistics
x = [random.random() for i in range(10)] # Задайте массив случайных значений из интервала(0; 1)
medium = sum(x) / len(x) # Средние значения для массива
median = statistics.median(x) # Медианные значения для массива

fig, compare = plt.subplots(figsize = (10, 6))
compare.scatter(x, x)
plt.show()

4.3.2 Задание. Дана функция. Создать массив из 10 значений функции (x, например, изменяется от 1 до 10). Выделить срез первой половины массива и построить графики для основного массива – линейный и для среза – точечный

from matplotlib import pyplot as plt
import math

function = []
for x in range(1,11): # Создать массив из 10 значений функции
      function.append((sqrt(1 + math.e ** sqrt(x) + math.cos(x**2)))/abs(1- (math.sin(x))**3)) # Дана функция
newfunction = function[:5] # Срез первой половины массива
plt.plot(function) # Линейный график
plt.show()
fig, ax = plt.subplots(figsize=(10, 6)) # Точечный график
ax.scatter(newfunction, newfunction)
plt.show()

4.3.3 Задание. Дана функция. Построить график на интервале (0,10) с шагом 1 с заливкой площади и найти эту площадь под ним. Для вычисления площади воспользуйте функции trapz() вычисляющей интеграл по правилу трапеции. Для ее корректной работы необходимо подключить следующие библиотеки:

from numpy import trapz
import numpy as np

x = np.arange(0.0, 10)  # Построить график на интервале (0,10) с шагом 1
y = np.abs(np.cos(x * np.exp(np.cos(x) + np.log(x+1)))) # Дана функция

plt.grid()
plt.plot(x, y, c = 'r')
plt.fill_between(x,y)
plt.show()

print(trapz(y)) # Вычисление площади 

4.3.4 Задание. Откройте статистические данные по стоимости акций Apple, Microsoft, Google за 12 месяцев 2021 г. Постройте 3 графика на плоскости и оцените их динамику. Подумайте, как можно улучшить читаемость результатов. Для начальных данных допустимо использовать следующий ресурс: https://finance.yahoo.com

from matplotlib import pyplot as plt
Apple = [131.96, 124.61, 136.96, 124.47, 152.83, 167.29, 170.34, 165.12, 174.01, 156.71, 148.8, 136.72, 149.9]
Microsoft = [222.53, 235.06, 235.90, 238.47, 254.40, 251.21, 269.51, 286.36, 302.87, 282.12, 331.36, 335.15, 310.41]
Google = [87.8, 96.2, 102.3, 104.90, 120.14, 121.10, 124.85, 135.48, 145.65, 133.55, 148.16, 144.21, 144.48]

plt.plot(Apple, label='Apple')
plt.plot(Microsoft, label='Microsoft')
plt.plot(Google, label='Google')
plt.legend() # вывод всех label
plt.grid() # добавление сетки
plt.xlabel('Месяцы 2021 года')
plt.ylabel('Стоимость акций')
plt.show()

'''
Требования к заданию:
1. Улучшить читабельность (добавить legend + label + подпись осей)
2. Сделать реальные значения с сайта
'''

4.3.5 Задание. Создайте простейший калькулятор, включающий основные действия для двух переменных ′ + ′, ′ − ′, ′ ∙ ′, ′ ÷ ′, а также вычисление следующих функций: e^(x+y), sin(x + y), cos(x + y) , x^y

from math import *

x = int(input('Введите x: '))
y = int(input('Введите y:'))
action = int(input('Введите действие (1 - сложение, 2 - вычитание, 3 - умножение, 4 - деление, 5 - e^(x=y), 6 - sin(x+y), 7 - cos(x+y), 8 - x**y):'))

if action == 1:
    print(x+y)
elif action == 2:
    print(x-y)
elif action == 3:
    print(x*y)
elif action == 4:
    if (y == 0):
        print('На ноль делить нельзя!')
    else:
        print(x/y)
elif action == 5:
    print(e**(x+y))
elif action == 6:
    print(sin(x+y))
elif action == 7:
    print(cos(x+y))
elif action == 8:
    print(x**y)

'''
Требования к заданию: доделать все действия и сделать их выбор через if
'''