From c5f67e15e19aefdb9661f188c6882db7c02e875e Mon Sep 17 00:00:00 2001 From: dkyopwa Date: Tue, 19 Oct 2021 02:32:47 +0300 Subject: [PATCH] Added hometask4 --- hometask4/task1.py | 8 ++++++++ hometask4/task2.py | 15 +++++++++++++++ hometask4/task3.py | 1 + hometask4/task4.py | 21 +++++++++++++++++++++ hometask4/task5.py | 9 +++++++++ hometask4/task6_1.py | 13 +++++++++++++ hometask4/task6_2.py | 14 ++++++++++++++ hometask4/task7.py | 22 ++++++++++++++++++++++ 8 files changed, 103 insertions(+) create mode 100644 hometask4/task1.py create mode 100644 hometask4/task2.py create mode 100644 hometask4/task3.py create mode 100644 hometask4/task4.py create mode 100644 hometask4/task5.py create mode 100644 hometask4/task6_1.py create mode 100644 hometask4/task6_2.py create mode 100644 hometask4/task7.py diff --git a/hometask4/task1.py b/hometask4/task1.py new file mode 100644 index 0000000..e0268d7 --- /dev/null +++ b/hometask4/task1.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python +# nevl 2021 + +from sys import argv + +if __name__ == '__main__': + script_name, production_in_hours, rate_per_hour, premium = argv + print(f'{float(production_in_hours) * float(rate_per_hour) + float(premium)}') diff --git a/hometask4/task2.py b/hometask4/task2.py new file mode 100644 index 0000000..aa663f7 --- /dev/null +++ b/hometask4/task2.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python +# nevl 2021 + +if __name__ == '__main__': + lst = input('Enter numbers separated by space: ').split() + new_lst = (it for it in lst) + + res = list() + prev = next(new_lst) + for item in new_lst: + if float(item) > float(prev): + res.append(item) + prev = item + + print(res) diff --git a/hometask4/task3.py b/hometask4/task3.py new file mode 100644 index 0000000..16b3c8b --- /dev/null +++ b/hometask4/task3.py @@ -0,0 +1 @@ +print(f'{[i for i in range(20, 240) if not i % 20 or not i % 21]}') diff --git a/hometask4/task4.py b/hometask4/task4.py new file mode 100644 index 0000000..2731e6b --- /dev/null +++ b/hometask4/task4.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +# nevl 2021 + +if __name__ == '__main__': + lst = input('Enter numbers separated by spaces: ').split() + new_lst = (it for it in lst) + + tmp = dict() + res = list() + + for it in new_lst: + if it in tmp: + tmp[it] += 1 + else: + tmp[it] = 1 + + for key, value in tmp.items(): + if value == 1: + res.append(key) + + print(res) diff --git a/hometask4/task5.py b/hometask4/task5.py new file mode 100644 index 0000000..beec021 --- /dev/null +++ b/hometask4/task5.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python +# nevl 2021 + +from functools import reduce + +if __name__ == '__main__': + lst = [i for i in range(100, 1001, 2)] + + print(reduce(lambda prev, curr: prev * curr, lst)) diff --git a/hometask4/task6_1.py b/hometask4/task6_1.py new file mode 100644 index 0000000..4d449f3 --- /dev/null +++ b/hometask4/task6_1.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python +# nevl 2021 + +from itertools import count +from sys import argv + +start = int(argv[1]) +max_count = int(argv[2]) + +for i in count(start): + if i > max_count: + break + print(i) diff --git a/hometask4/task6_2.py b/hometask4/task6_2.py new file mode 100644 index 0000000..0e0a90d --- /dev/null +++ b/hometask4/task6_2.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python +# nevl 2021 + +from itertools import cycle +from sys import argv + +# a quoted list separated by spaces +lst = argv[1].split() +max_count = int(argv[2]) + +for i, it in enumerate(cycle(lst)): + if i > max_count: + break + print(it) diff --git a/hometask4/task7.py b/hometask4/task7.py new file mode 100644 index 0000000..8e1e6fe --- /dev/null +++ b/hometask4/task7.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +# nevl 2021 + +def fact(n): + """ + Factorial + + :param n: int + :return: int + """ + if n < 1: + return + res = 1 + for i in range(1, n + 1): + res *= i + yield res + +if __name__ == '__main__': + n = int(input('Enter max: ')) + + for el in fact(n): + print(el)