Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 12 additions & 3 deletions seminar4/task22.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@
Пользователь вводит 2 числа. n - кол-во элементов первого множества.
m - кол-во элементов второго множества. Затем пользователь вводит сами элементы множеств
"""
from timeit import Timer


def sort_common(arr_one, arr_two):
result = arr_one.intersection(arr_two)
result = list(result)
result.sort()
return result


n = int(input("Enter a number of element in the first array: "))
m = int(input("Enter a number of element in the second array: "))
Expand All @@ -15,7 +24,7 @@
second_arr = set()
for i in range(m):
second_arr.add(int(input()))
result = first_arr.intersection(second_arr)
result = list(result)
result.sort()
result = sort_common(first_arr, second_arr)
print(f"Result: {result}")
t1 = Timer(stmt="sort_common(first_arr, second_arr)", setup="from __main__ import sort_common, first_arr, second_arr")
print("Time: ", t1.timeit(number=1000), "seconds")
18 changes: 7 additions & 11 deletions seminar4/task24.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,13 @@
заход собирающий модуль, находясь перед некоторым кустом заданной во входном файле грядки.
"""

import random

file_name = input("Enter a file path: ")
with open(file_name, 'r') as f:
berries_on_bush = f.readlines()
bush = random.randint(0, len(berries_on_bush))
if bush == 0:
berries = int(berries_on_bush[0]) + int(berries_on_bush[1]) + int(berries_on_bush[len(berries_on_bush) - 1])
elif bush == len(berries_on_bush) - 1:
berries = int(berries_on_bush[0]) + int(berries_on_bush[len(berries_on_bush) - 2]) + int(
berries_on_bush[len(berries_on_bush) - 1])
else:
berries = int(berries_on_bush[bush]) + int(berries_on_bush[bush - 1]) + int(berries_on_bush[bush + 1])
print(f"If bush is {int(bush) + 1} we will get {berries} berries.")
bush = list()
bush.append(int(berries_on_bush[0]) + int(berries_on_bush[1]) + int(berries_on_bush[len(berries_on_bush) - 1]))
bush.append(int(berries_on_bush[0]) + int(berries_on_bush[len(berries_on_bush) - 2]) + int(
berries_on_bush[len(berries_on_bush) - 1]))
for i in range(1, len(berries_on_bush) - 1):
bush.append(int(berries_on_bush[i]) + int(berries_on_bush[i - 1]) + int(berries_on_bush[i + 1]))
print(f"We can get {max(bush)} max berries.")
3 changes: 3 additions & 0 deletions seminar6/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions seminar6/.idea/inspectionProfiles/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions seminar6/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions seminar6/.idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions seminar6/.idea/seminar6.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions seminar6/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions seminar6/task30.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
"""
Заполните массив элементами арифметической прогрессии.
Её первый элемент, разность и количество элементов нужно ввести с клавиатуры.
Формула для получения n-го члена прогрессии: an = a1 + (n-1) * d.
Каждое число вводится с новой строки.
"""
first_num, diff, el_amount = input("Enter first number, difference and amount of element: ").split()
try:
first_num = int(first_num)
diff = int(diff)
el_amount = int(el_amount)
except ValueError:
print("It is not a number")
else:
progression = [first_num + (el - 1) * diff for el in range(1, el_amount + 1)]
print(progression)
23 changes: 23 additions & 0 deletions seminar6/task32.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
"""
Определить индексы элементов массива (списка), значения которых принадлежат заданному диапазону
(т.е. не меньше заданного минимума и не больше заданного максимума)
"""


def generator(array, min_value, max_value):
for i in range(len(array)):
if min_value < array[i] < max_value:
yield i


array = [3, 6, 8, 1, 12, 23945, 983, 564, 20, 1237, 45, 12, 90, 23, 6, 0, -1, -4, -67, - 8]
min_value, max_value = input("Enter min and max value: ").split()
try:
min_value = int(min_value)
max_value = int(max_value)
except ValueError:
print("It is not a number")
else:
new_array = generator(array, min_value, max_value)
for el in new_array:
print(el)