π Π€ΡΠ½ΠΊΡΠΈΠΈ Π² Python: 5 Π·Π°Π΄Π°Ρ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠΈ *args, **kwargs ΠΈ lambda-ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠΈΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠ΅ *args ΠΈ **kwargs, Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ»ΠΎΠ²Π°ΡΡΠΌΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ lambda-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΠΌΠΎΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎ ΠΊΡΠ±ΠΈΠΊΠΈ.
ΠΡΠΎΠ΄ΡΠΊΡΡ
ΠΡΠΈΠΌΠ΅ΡΡ Π²ΡΠ·ΠΎΠ²Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΡΠ·ΠΎΠ² #1:
printGroceries('ΠΠ°Π½Π°Π½Ρ', [1, 2], ('Python',), 'Π―Π±Π»ΠΎΠΊΠΈ', '', 'ΠΠ°ΠΊΠ°ΡΠΎΠ½Ρ', 5, True, 'ΠΠΎΡΠ΅', False)
ΠΡΠ²ΠΎΠ΄ #1:
1) ΠΠ°Π½Π°Π½Ρ 2) Π―Π±Π»ΠΎΠΊΠΈ 3) ΠΠ°ΠΊΠ°ΡΠΎΠ½Ρ 4) ΠΠΎΡΠ΅
ΠΡΠ·ΠΎΠ² #2:
printGroceries([4], {}, 1, 2, {'Mathlab'}, '')
ΠΡΠ²ΠΎΠ΄ #2:
ΠΠ΅Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²
Π Π΅ΡΠ΅Π½ΠΈΠ΅
Π‘ΠΏΠΎΡΠΎΠ± 1:
def printGroceries(*args): products = [i for i in args if type(i) is str and i != ''] if len(products) != 0: res = [str(i+1)+')' + ' ' + products[i] for i in range(len(products))] result = '\n'.join(res) print(result) else: print('ΠΠ΅Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²')
Π‘ΠΏΠΎΡΠΎΠ± 2:
def printGroceries(*args): list_products = [i for i in args if type(i) == str and len(i) > 0] if len(list_products) == 0: print("ΠΠ΅Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²") else: for i in range(len(list_products)): print(f'{i+1}) {list_products[i]}')
Π‘ΠΏΠΎΡΠΎΠ± 3:
def printGroceries(*args): ls = [i for i in args if type(i) == str and i not in ('', ' ')] print('\n'.join([f'{num}) {i}' for num, i in enumerate(ls, 1)]) if ls else 'ΠΠ΅Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²')
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΊΠ°Π½Π°Π»Ρ
ΠΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
ΠΡΠΈΠΌΠ΅ΡΡ Π²ΡΠ·ΠΎΠ²Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΡΠ·ΠΎΠ² #1:
personalData(first_name='John', last_name='Doe', age=28, position='Python developer')
ΠΡΠ²ΠΎΠ΄ #1:
age: 28 first_name: John last_name: Doe position: Python developer
ΠΡΠ·ΠΎΠ² #2:
personalData(first_name='Jack', last_name='Smith', age=32, work_experience = '5 years', position='Project manager')
ΠΡΠ²ΠΎΠ΄ #2:
age: 32 first_name: Jack last_name: Smith position: Project manager work_experience: 5 years
Π Π΅ΡΠ΅Π½ΠΈΠ΅
Π‘ΠΏΠΎΡΠΎΠ± 1:
def personalData(**kwargs): for k, v in sorted(kwargs.items()): print(f'{k}: {v}')
Π‘ΠΏΠΎΡΠΎΠ± 2:
def personalData(**kwargs): [print(f'{key}: {kwargs[key]}') for key in sorted(kwargs.keys())]
Π‘ΠΏΠΎΡΠΎΠ± 3:
def personalData(**kwargs): print('\n'.join(f'{k}: {v}' for k, v in sorted(kwargs.items())))
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½Π°
ΠΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ΠΎΠΌ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ n Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π°
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ evaluate(coefficients, x), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° x. ΠΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ lambda-ΡΡΠ½ΠΊΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ map() ΠΈ reduce().
ΠΡΠΈΠΌΠ΅ΡΡ Π²ΡΠ·ΠΎΠ²Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ²ΠΎΠ΄:
2 4 3 10
ΠΡΠ²ΠΎΠ΄:
243
Π Π΅ΡΠ΅Π½ΠΈΠ΅
Π‘ΠΏΠΎΡΠΎΠ± 1:
from functools import reduce import operator def evaluate(a, x): xi = map(lambda i: x**i, range(len(a)-1, -1, -1)) axi = map(operator.mul, a, xi) return reduce(operator.add, axi, 0) a = list(map(int, input().split())) x = int(input()) print(evaluate(a, x))
Π‘ΠΏΠΎΡΠΎΠ± 2:
from functools import reduce evaluate = lambda coefficients, x: reduce(lambda s, a: s * x + a, coefficients, 0) print(evaluate([*map(int, input().split())], int(input())))
Π‘ΠΏΠΎΡΠΎΠ± 3:
(lambda a, x: print(sum(map(lambda i: x**i[0] * int(i[1]), enumerate(a)))))(input().split()[::-1], int(input()))
Π‘ΠΏΠΎΡΠΎΠ± 4:
def evaluate(coefficients, x): s = 0 for a in coefficients: s = s * x + a return s c = [*map(int, input().split())] x = int(input()) print(evaluate(c, x))
Π‘ΠΏΠΎΡΠΎΠ± 5:
from functools import reduce def evaluate(coe, x): return reduce(lambda n, z: n + z[1] * x**(len(coe) - z[0]), list(enumerate(coe[:-1], 1)), 0) + coe[-1] print(evaluate(list(map(int, input().split())), int(input())))
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ
added
, Π΅ΡΠ»ΠΈ ΠΊΠ»ΡΡΠ° Π½Π΅ Π±ΡΠ»ΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΠΎΠ²Π°ΡΠ΅, Π½ΠΎ ΠΎΠ½ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ;deleted
, Π΅ΡΠ»ΠΈ ΠΊΠ»ΡΡ Π±ΡΠ» Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΠΎΠ²Π°ΡΠ΅, Π½ΠΎ Π΅Π³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ;changed
, Π΅ΡΠ»ΠΈ ΠΊΠ»ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡΡ , Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ;equal
, Π΅ΡΠ»ΠΈ ΠΊΠ»ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡΡ , ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΊΠ»ΡΡΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌ ΡΠΈΠΏΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΠ»ΡΡΠΈ Π² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΡΠ»ΠΎΠ²Π°ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅: ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ, Π·Π°ΡΠ΅ΠΌ β Π²ΡΠΎΡΠΎΠ³ΠΎ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
Π‘ΠΏΠΎΡΠΎΠ± 1:
def keyDifference(dict1, dict2): d1, d2 = set(dict1), set(dict2) sample = list(dict1.keys()) + list(dict2.keys()) return dict(sorted([(i, 'deleted') for i in d1 - d2] + [(i, 'equal') if dict1[i] == dict2[i] else (i, 'changed') for i in d1 & d2] + [(i, 'added') for i in d2 - d1], key=lambda x: sample.index(x[0])))
Π‘ΠΏΠΎΡΠΎΠ± 2:
def keyDifference(dict1, dict2): d = {} for i in dict1: if i in dict2: d[i] = ('changed','equal')[dict2[i]==dict1[i]] else: d[i] = dict2.get(i,'deleted') for i in dict2: if i not in d: d[i] = 'added' return d
Π‘ΠΏΠΎΡΠΎΠ± 3:
def keyDifference(d_1, d_2): out = {} tmp = d_1 | d_2 for key, value in tmp.items(): out[key] = ('added' if d_1.get(key) is None else ('deleted' if d_2.get(key) is None else ('equal' if (d_1.get(key) == d_2.get(key)) else 'changed'))) return out
ΠΠ΅ΡΠ΅Π½ΠΊΠ°
ΠΠ΅ΡΠ΅Π½ΠΊΠΎΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π°Π±ΠΎΡ ΠΊΡΠ±ΠΈΠΊΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»ΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΡΠ±ΠΈΠΊΠΎΠ², ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΡΠΈΡΠ»ΠΎ Π»Π΅ΡΠ΅Π½ΠΎΠΊ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΈΠ· n ΠΊΡΠ±ΠΈΠΊΠΎΠ².
Π€ΠΎΡΠΌΠ°Ρ Π²Π²ΠΎΠ΄Π°
ΠΠ°ΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ n (1 β€ n β€ 100) β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΡΠ±ΠΈΠΊΠΎΠ² Π² Π»Π΅ΡΠ΅Π½ΠΊΠ΅.
Π€ΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π°
Π§ΠΈΡΠ»ΠΎ Π»Π΅ΡΠ΅Π½ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΈΠ· n ΠΊΡΠ±ΠΈΠΊΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΡ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π°
ΠΠ²ΠΎΠ΄ #1:
3
ΠΡΠ²ΠΎΠ΄ #1:
2
ΠΠ²ΠΎΠ΄ #2:
6
ΠΡΠ²ΠΎΠ΄ #2:
4
Π Π΅ΡΠ΅Π½ΠΈΠ΅
import functools @functools.lru_cache(maxsize=None) def kol_les(n, k): if n == 0: return 1 ans = 0 for i in range(k + 1, n + 1): ans += kol_les(n - i, i) return ans n = int(input()) print(kol_les(n, 0))
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
- π 5 Π·Π°Π΄Π°Ρ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ Π½Π° Python Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²
- π Π Π΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Python Π·Π° 5 ΠΌΠΈΠ½ΡΡ: ΡΠ΅ΠΎΡΠΈΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ
- π ΠΠ°Π΄Π°ΡΠ° ΠΎ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΠΎΠΉ XML-ΡΡΡΠΎΠΊΠ΅