diff --git a/lesson_3/fibonacci.py b/lesson_3/fibonacci.py new file mode 100644 index 0000000..e47272a --- /dev/null +++ b/lesson_3/fibonacci.py @@ -0,0 +1,22 @@ +n = int(input()) +m = int(input()) +def fibonacci(n,m): + a = 0 + b = 1 + i = 1 + list = [] + if m > 1: + for k in range(m-1): + c = a + a = b + b += c + i += 1 + if i >= n: + list.append(b) + else: + list = [1] + if n == 1: + list.insert(0,1) + return list +print(fibonacci(n,m)) + diff --git a/lesson_3/filter.py b/lesson_3/filter.py new file mode 100644 index 0000000..3548cb0 --- /dev/null +++ b/lesson_3/filter.py @@ -0,0 +1,6 @@ +def filt(func, a) : + b = [i for i in a if func(i)] + return b + + + diff --git a/lesson_3/fractions.py b/lesson_3/fractions.py new file mode 100644 index 0000000..752e568 --- /dev/null +++ b/lesson_3/fractions.py @@ -0,0 +1,7 @@ +import sympy as sp +x, y = sp.symbols('x y') +equation = '25/3+4/5' +expr = sp.sympify(equation) +a = int(expr) +b = expr - a +print(a,b) diff --git a/lesson_3/fruits.txt b/lesson_3/fruits.txt new file mode 100644 index 0000000..9b207f5 --- /dev/null +++ b/lesson_3/fruits.txt @@ -0,0 +1,565 @@ +Абиу + +Абрикос + +Авокадо + +Айва + +Аки + +Алиберция + +Алыча + +Амбарелла + +Американский абрикос + +Американский орех + +Ананас + +Аннона горная + +Аннона колючая + +Аннона сетчатая + +Аннона черимола + +Аннона чешуйчатая + +Антильский крыжовник + +Апельсин + +Арабика + +Араза + +Арахис + +Арбуз обыкновенный + +Астрокариум колючий + +Атимойя + +Африканский колючий огурец + +Африканский тамаринд + +Бакау + +Баклажан + +Балия + +Бананы + +Баобаб + +Барбадин (Большая гранадилла) + +Барбадосская вишня + +Бархатное яблоко + +Баэль + +Белая сапота + +Бергамот + +Билимби + +Бирсонима + +Блигия вкусная + +Большой змеиный фрукт + +Бразильский орех + +Бычье сердце + +Вампи + +Вангерия + +Ваниль + +Виноград + +Воаванга + +Водяное(восковое) яблоко + +Гандария + +Генипа + +Гибискус съедобный + +Гнетум гнемон + +Голубиная слива + +Голубой квандонг + +Горлянка + +Горький огурец + +Гранадилла (Маракуйа) + +Гранадилла большая (Барбадин) + +Гранадилла сладкая + +Гранат + +Грейпфрут + +Грумичама + +Груша + +Гуайява земляничная + +Гуайява коста-риканская + +Гуайява красная + +Гуайява обыкновенная + +Гуарана + +Давидсония + +Дамские пальчики + +Деревянное яблоко + +Десертный квандонг + +Джекфрут + +Древесная калебаса + +Дуку + +Дуриан + +Дуриан цибетиновый + +Дынная груша + +Дынное дерево + +Дыня обыкновенная + +Звездчатое яблоко + +Земляничная груша + +Земляничный томат + +Земляной орех + +Зизифус мавританский + +Золотая слива + +Золотистый апельсин + +Индийские бобы + +Индийский инжир + +Индийский миндаль + +Индийское розовое яблоко + +Инжир + +Кабачки + +Каинито + +Какао + +Кактус инжировый + +Каламондин + +Калебаса + +Канариум яйцевидный + +Капский крыжовник + +Карамбола + +Кас + +Квини + +Квислендский орех + +Кепель + +Кетамбилла + +Кивано + +Киви + +Китайская калебаса + +Клементин + +Кокколоба ягодоносная + +Кокос + +Корилла + +Кофейные деревья + +Кранжи + +Кумкват овальный + +Купуасу + +Курбарил + +Кустовой горошек + +Лайм настоящий + +Лангсат + +Лансиум домашний + +Леуцена светлоголовчатая + +Либерика + +Ликания + +Лимон грубокожистый + +Лимон обыкновенный + +Лимон Мейера + +Лимонная осина + +Личи + +Лобия + +Ложный мангустан + +Лукума + +Луло + +Люффа остроребристая + +Маболо + +Мадагаскарская слива + +Макадамия цельнолистная + +Малабарская тыква + +Малабарский апельсин + +Малайское яблоко + +Малуко + +Мальпигия гранатолистная + +Маммея американская + +Мамончилло (Лайм испанский) + +Манго благоухающее + +Манго великолепное + +Манго индийское + +Манго резко пахнущее + +Мангостан + +Мангустан + +Мандарин + +Манилкара + +Маракуйя + +Мармеладный плод + +Марула + +Мауриция извилистая + +Маш + +Мексиканская земляная вишня + +Мексиканский огурец + +Мелинжо + +Моква + +Момбин желтый + +Момбин красный + +Момордика + +Моринда + +Мунду + +Мускатный орех + +Мушмула японская + +Наранхилла + +Ням-ням + +Обезьяний хлеб + +Огурец + +Огуречное дерево + +Орех кешью + +Пальма катеху + +Пальма кокосовая + +Пальма масличная африканская + +Пальма персиковая + +Пальчиковый лайм + +Папайя + +Папайя горная + +Папеда + +Паприка + +Пара-гуайява + +Паркия красивая + +Пассифлора съедобная + +Пекуи + +Пепино + +Перец + +Перец кайенский + +Перец стручковый + +Персик + +Перуанская вишня + +Питайя + +Питомба + +Пиши + +Помело + +Померанец + +Помидор + +Помпельмус + +Понцирус (несъедобный плод) + +Приморский виноград + +Путерия + +Пуласан + +Ракум-салакка + +Рамбай + +Рамбутан + +Робуста + +Розовое яблоко + +Роллиния слизистая + +Салакка + +Салакка скученная + +Саламандровое дерево + +Сантол + +Саподилла + +Сатсума + +Сахарное яблоко + +Сахарный горошек + +Свечное дерево + +Свити + +Сизигиум аквеум + +Сизигиум малаккский + +Сизигиум ямбоза + +Сингапурский миндаль + +Слива + +Слива какаду + +Слоновье яблоко + +Сметанное яблоко + +Сонсоя + +Соя + +Спаржевая фасоль + +Страстоцвет + +Суринамская вишня + +Съедобный таитянский орех + +Таитянское яблоко + +Такако + +Тамарилло + +Тамаринд + +Танжерин + +Терминалия катаппа + +Томат настоящий + +Томатное дерево + +Тукума + +Тупа + +Тыква бутылочная + +Тыква восковая + +Тыква мускатная + +Тыква обыкновенная + +Тыква фиголистная + +Тыквенное дерево + +Фейхоа + +Ферония лимонная + +Ферония слоновая + +Физалис земляничный + +Филиппинское розовое яблоко + +Филлантус кислый + +Финик + +Флакурция + +Хлебное дерево + +Хлебные бобы + +Хурма восточная (японская) + +Цейлонский крыжовник + +Циклантера + +Цуккини + +Чайот + +Чампедак + +Черешня + +Черимойя + +Черная гуайява + +Черная сапота + +Черная хурма + +Черный тамаринд + +Чили + +Чилибуха колючая + +Чупа + +Шоколадное дерево + +Яблоко + +Яблоко-кажу + +Яботикаба + +Ямайская вишня + +Ятоба \ No newline at end of file diff --git a/lesson_3/fruits_new.py b/lesson_3/fruits_new.py new file mode 100644 index 0000000..7f3862e --- /dev/null +++ b/lesson_3/fruits_new.py @@ -0,0 +1,16 @@ +names = [] +with open('fruits.txt', 'r') as f: + for line in f: + if len(line.strip()) : + k = line.split() + J = ' ' + k = J.join(k)+'\n' + name = 'fruits_'+k[0]+'.txt' + if name not in names: + names.append(name) + with open(name, 'w') as f: + f.write(k) + else: + with open(name, 'a') as f: + f.write(k) + diff --git a/lesson_3/hours.txt b/lesson_3/hours.txt new file mode 100644 index 0000000..0f0b4d7 --- /dev/null +++ b/lesson_3/hours.txt @@ -0,0 +1,13 @@ +Имя Фамилия Отработано часов + +Петр Алексеев 120 + +Матвей Бурин 160 + +Василий Сидоров 122 + +Альберт Грибов 118 + +Василий Иванов 180 + +Петр Дурин 80 \ No newline at end of file diff --git a/lesson_3/lucky_ticket.py b/lesson_3/lucky_ticket.py new file mode 100644 index 0000000..2ea3f2f --- /dev/null +++ b/lesson_3/lucky_ticket.py @@ -0,0 +1,10 @@ +a = int(input()) +def lucky_ticket(number) : + a = str(number) + b1 = [ int(i) for i in a[0:3]] + b2 = [ int(i) for i in a[3:6]] + if sum(b1) == sum(b2): + return True + else : + return False +print(lucky_ticket(a)) diff --git a/lesson_3/money.txt b/lesson_3/money.txt new file mode 100644 index 0000000..749af0d --- /dev/null +++ b/lesson_3/money.txt @@ -0,0 +1,13 @@ +Имя Фамилия Зарплата Должность Норма_часов + +Петр Алексеев 22000 прораб 140 + +Василий Иванов 18000 плотник 150 + +Матвей Бурин 42000 директор 150 + +Василий Сидоров 17500 плотник 140 + +Петр Дурин 20000 разнорабочий 160 + +Альберт Грибов 20000 разнорабочий 160 \ No newline at end of file diff --git a/lesson_3/parallelogram.py b/lesson_3/parallelogram.py new file mode 100644 index 0000000..8e9d53c --- /dev/null +++ b/lesson_3/parallelogram.py @@ -0,0 +1,16 @@ +import numpy as np +a = [] +for i in range(4): + a.append([float(i) for i in input().split(',')]) +a = np.array(a) +i = 0 +if np.cross([a[0,0]-a[1,0],a[0,1]-a[1,1]],[a[2,0]-a[3,0],a[2,1]-a[3,1]]) == 0 : + i +=1 +if np.cross([a[0,0]-a[3,0],a[0,1]-a[3,1]],[a[2,0]-a[1,0],a[2,1]-a[1,1]]) == 0 : + i +=1 +if np.cross([a[0,0]-a[2,0],a[0,1]-a[2,1]],[a[1,0]-a[3,0],a[1,1]-a[3,1]]) == 0 : + i+=1 +if i == 2: + print('Параллелограм') +else: + print('Точки РЅРµ являются вершинами параллелограма') diff --git a/lesson_3/quicksort.py b/lesson_3/quicksort.py new file mode 100644 index 0000000..a76e233 --- /dev/null +++ b/lesson_3/quicksort.py @@ -0,0 +1,37 @@ +# quick sort разбиение Хоара +l = input() +l = [ int(i) for i in l] +def quick_sort(l,fi = 0,la = len(l)-1): + def qr(l,fi,la): + op = l[int((fi+la)/2)] + i = fi + j = la + while i <= j : + while l[i] < op : + i += 1 + while l[j] > op: + j -= 1 + if i <= j: + if l[i] > l[j]: + l[i],l[j] = l[j],l[i] + i += 1 + j -= 1 + def rt_1(): + if i < la : + fi = i + qr(l,fi,la) + def rt_2(): + if fi < j : + la = j + qr(l,fi,la) + rt_1() + rt_2() + qr(l,fi,la) + return l +print(quick_sort(l)) + + + + + + diff --git a/lesson_3/round_number.py b/lesson_3/round_number.py new file mode 100644 index 0000000..821a49b --- /dev/null +++ b/lesson_3/round_number.py @@ -0,0 +1,17 @@ +number = float(input()) +ndigits = int(input()) +def my_round(number,ndigits): + number = str(number) + number = number.split('.') + if ndigits == 0 : + return int(number[0]) + else: + b = number[1][:(ndigits+1)] + if int(b[-1]) >= 5 : + b = b[:(ndigits-1)]+str(int(b[ndigits])+1) + else: + b = b[:ndigits] + J='.' + return float(J.join([number[0],b])) +print(my_round(number,ndigits)) + diff --git a/lesson_3/salary.py b/lesson_3/salary.py new file mode 100644 index 0000000..a3b8624 --- /dev/null +++ b/lesson_3/salary.py @@ -0,0 +1,29 @@ +co1 = {} +co2 = {} +fin = {} +with open('hours.txt', 'r') as f: + for line in f: + if len(line.strip()) > 0: + k = [int(s) for s in line.split() if s.isdigit()] + if k != []: + J=' ' + name = J.join(line.split()[0:2]) + k,= k + co1[name] = k +with open('money.txt', 'r') as f: + for line in f: + if len(line.strip()) > 0: + k = [int(s) for s in line.split() if s.isdigit()] + if k != []: + J=' ' + name = J.join(line.split()[0:2]) + co2[name] = k +for key in co1.keys(): + z = (co1[key]/co2[key][1]) + if z > 1: + v = ((z-1)*2+1)*co2[key][0] + else: + v = z*co2[key][0] + fin[key] = int(v) +for key, value in fin.items(): + print(key,value)