Skip to content
Snippets Groups Projects
Commit 9206fb3c authored by hacker717's avatar hacker717
Browse files

Перенос testing в маи

parent 191b1bd1
No related branches found
No related tags found
No related merge requests found
def secret_replace(text, **replaces):
counter = {k: 0 for k in replaces.keys()}
while True:
f = False
for k in replaces.keys():
if k in text:
text = text.replace(k, replaces[k][counter[k]], 1)
if counter[k] >= len(replaces[k]) - 1:
counter[k] = -1
counter[k] += 1
f = True
if not f:
break
return text
\ No newline at end of file
def make_matrix(size, value=0):
if type(size) is int:
return [[value] * size for _ in range(size)]
else:
return [[value] * size[0] for _ in range(size[1])]
\ No newline at end of file
4.2/3.py 0 → 100644
def gcd(*nums):
nums = list(nums)
for i in range(len(nums) - 1):
a, b = nums[i], nums[i + 1]
while a != b:
if a > b:
a -= b
else:
b -= a
nums[i + 1] = a
return nums[-1]
\ No newline at end of file
4.2/4.py 0 → 100644
def month(num, lang="ru"):
mths = (
("January", "Январь"),
("February", "Февраль"),
("March", "Март"),
("April", "Апрель"),
("May", "Май"),
("June", "Июнь"),
("July", "Июль"),
("August", "Август"),
("September", "Сентябрь"),
("October", "Октябрь"),
("November", "Ноябрь"),
("December", "Декабрь")
)
if lang == "en":
return mths[num - 1][0]
else:
return mths[num - 1][1]
\ No newline at end of file
def to_string(*nums, sep=" ", end="\n"):
res = ''
for i in range(len(nums)):
res += str(nums[i])
if i != len(nums) - 1:
res += sep
return res + end
\ No newline at end of file
4.2/6.py 0 → 100644
def order(*names):
global in_stock
res = ""
message = "К сожалению, не можем предложить Вам напиток"
d = {
"Эспрессо": {"coffee": 1},
"Капучино": {"coffee": 1, "milk": 3},
"Макиато": {"coffee": 2, "milk": 1},
"Кофе по-венски": {"coffee": 1, "cream": 2},
"Латте Макиато": {"coffee": 1, "milk": 2, "cream": 1},
"Кон Панна": {"coffee": 1, "cream": 1}
}
for cof in names:
f = True
for k in d[cof].keys():
if d[cof][k] > in_stock[k]:
f = False
if f:
for k in d[cof].keys():
in_stock[k] -= d[cof][k]
message = cof
break
return message
\ No newline at end of file
4.2/7.py 0 → 100644
def enter_results(*enter, nums=[]):
nums += list(enter)
return nums
def get_sum():
sum1, sum2 = 0, 0
for n in enter_results()[::2]:
sum1 += n
for n in enter_results()[1::2]:
sum2 += n
return sum1, sum2
def get_average():
sum1, l1, sum2, l2 = 0, 0, 0, 0
for n in enter_results()[::2]:
sum1 += n
l1 += 1
for n in enter_results()[1::2]:
sum2 += n
l2 += 1
return sum1 / l1, sum2 / l2
\ No newline at end of file
lambda word: (len(word), word.lower())
\ No newline at end of file
lambda num: sum(map(int, str(num))) % 2 == 0
\ No newline at end of file
def recursive_sum(*nums):
nums = list(nums)
if nums:
return nums[-1] + recursive_sum(*nums[:-1])
else:
return 0
\ No newline at end of file
def make_linear(ldata):
if type(ldata) is not list:
return ldata
i = 0
while i != len(ldata):
if type(ldata[i]) is list:
ldata = ldata[:i] + make_linear(ldata[i]) + ldata[i + 1:]
i += 1
return ldata
\ No newline at end of file
def recursive_digit_sum(nums):
if type(nums) is int:
nums = list(str(nums))
if nums:
return int(nums[-1]) + recursive_digit_sum(nums[:-1])
else:
return 0
\ No newline at end of file
def make_equation(*nums):
nums = list(nums)
if len(nums) > 1:
return f"({make_equation(*nums[:-1])}) * x + {nums[-1]}"
else:
return nums[-1]
\ No newline at end of file
def answer(f):
def add_result(*args, **kwargs):
return f"Результат функции: {f(*args, **kwargs)}"
return add_result
\ No newline at end of file
4.3/5.py 0 → 100644
def result_accumulator(f):
res_list = []
def decorator(*args, method="accumulate"):
nonlocal res_list
res_list.append(f(*args))
if method == "drop":
a = res_list.copy()
res_list = []
return a
else:
return None
return decorator
\ No newline at end of file
4.3/6.py 0 → 100644
def merge_sort(lnum):
if len(lnum) > 1:
return merge(merge_sort(lnum[:len(lnum) // 2]), merge_sort(lnum[len(lnum) // 2:]))
else:
return lnum
def merge(nums1, nums2):
res = []
while nums1 or nums2:
if not nums1:
res.append(nums2[0])
del nums2[0]
elif not nums2:
res.append(nums1[0])
del nums1[0]
else:
if nums1[0] < nums2[0]:
res.append(nums1[0])
del nums1[0]
else:
res.append(nums2[0])
del nums2[0]
return res
\ No newline at end of file
def same_type(func):
def checker(*args):
for i in range(len(args) - 1):
if type(args[i]) is not type(args[i + 1]):
print("Обнаружены различные типы данных")
break
else:
return func(*args)
return checker
\ No newline at end of file
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
\ No newline at end of file
def cycle(lnums):
c = 0
while True:
yield lnums[c % len(lnums)]
c += 1
\ No newline at end of file
def print_weather(wind, temperature):
print(f"За окном дует ветер со скоростью {wind} м/с. Температура воздуха {temperature}°C.")
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment