123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- # Распаковка словаря с ключами и значениями
- def func_1():
- d1 = {'key1': 1, 'key2': 2}
- d2 = {'key2': 1, 'key3': 2}
- d3 = {'a1': 1, **d2, **d1}
- print(d3)
- def concatenate(**kwargs):
- ret = ""
- for x in kwargs.values():
- if (type(x) == list):
- ret += ''.join(str(x))
- else:
- ret += str(x)
- return ret
- def create_actor(**kwargs):
- base_dict = {'name': 'Райан', 'surname': 'Рейнольдс', 'age': 47}
- for key, value in kwargs.items():
- base_dict[key] = value
- return base_dict
- def info_kwargs(**kwargs):
- for key in sorted(kwargs):
- print(f'{key} = {kwargs[key]}')
- def test_args(a, b, *args):
- print(a, b, args)
- def print_scores(name, *args):
- print("Student name:", name)
- my_list = list(args)
- my_list.sort()
- for i in my_list:
- print(i)
- def truncate_sentences(n, *args):
- print(n)
- for st in args:
- print(st[:n])
- def make_strings_big(*args, reverse=False):
- for st in args:
- print(st.lower()) if reverse else print(st.upper())
- def item_sum(*args, **kwargs):
- current_sum = 0
- for arg in args:
- current_sum += arg
- for kwarg in kwargs.values():
- current_sum += kwarg
- return current_sum
- def calculate_high_low_avg(*args, log_to_console=False):
- average = (max(args) + min(args))/2
- if log_to_console:
- print(f'high={max(args)}, low={min(args)}, avg={average}')
- return average
-
- # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- tables = {
- 1: {'name': 'Andrey', 'is_vip': True, 'order': {}},
- 2: None,
- 3: None,
- 4: None,
- 5: {'name': 'Vasiliy', 'is_vip': False, 'order': {}},
- }
- def is_table_free(table_number: int):
- return tables[table_number] is None
- def get_free_tables():
- return [x[0] for x in tables.items() if x[1] is None]
- def reserve_table(table_number: int, name: str, status=False):
- if is_table_free(table_number):
- tables[table_number] = {'name': name, 'is_vip': status, 'order': {}}
- def delete_reservation(table_number):
- tables[table_number] = None
- def make_order(table, **kwargs):
- menu = ["salad", "soup", "main_dish", "drink", "desert"]
- for key, value in kwargs.items():
- if key in menu:
- if key not in tables[table]['order'].keys():
- tables[table]['order'][key] = value.split(',')
- else:
- tables[table]['order'][key].extend(value.split(','))
-
- def delete_order(*, number_table, delete_all=False, **kwargs):
- if delete_all:
- tables[number_table]['order'] = {}
- else:
- for key, value in kwargs.items():
- if value:
- tables[number_table]['order'].pop(key, None)
- # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- def main():
- # func_1()
- # print(concatenate(q='iHave', w="next", e="Coins", r=[10, 5, 10, 7]))
- # print(concatenate(q='iHave', w="next", e="Coins"))
- # print(create_actor())
- # print(create_actor(height=190, movies=['Дедпул', 'Главный герой']))
- # info_kwargs(c=43, b=32, a=32)
- # test_args(a=10, 1, 2, 3)
- # print_scores("Jud", 100, 95, 88, 92, 99)
- # my_list =[5, 19, 23, 88]
- # my_dict = {'a': 11, 'b': 23}
- # print(item_sum(*my_list, **my_dict))
- # calculate_high_low_avg(*my_list, log_to_console=True)
- make_order(1, soup='Borsh')
- make_order(1, soup='Лапша')
-
- make_order(1, soup='Borsh,Лапша', desert='Медовик', drink='Cola')
- for key, value in tables.items():
- print(key, value)
- '''
- try:
- delete_order(number_table=1, delete_all=True)
- except TypeError:
- print('Вызов delete_order без передачи значения по ключу не должен проходить')
- else:
- raise ValueError('Проверьте типы параметров функции delete_order')
- '''
-
- # st = 'absd'
- # lst = st.split(',')
- # print(lst)
- if __name__ == '__main__':
- main()
|