fun_testai = { "kiek_monetų_91": ( (1, 1),(8, 8),(9, 1),(18, 2),(19, 3),(999, 111),(10000, 1112),), "kiek_monetų_731": ( (1, 1),(3, 1),(7, 1),(8, 2),(10, 2),(11, 3),(777, 111),(10000, 1430),), "skaitmenų_suma2": ( (0, 0),(10, 1),(28, 10),(90, 9),(99, 18),(100, -1),), "skaitmenų_suma3": ( (90, 9),(111, 3),(999, 27),(1002, -1),), "skaitmenų_suma4": ( (999, 27),(1111, 4),(5555, 20),(9999, 36),(1999, 28),), "dalinti_maistą": ( ((2, 12, 3), (3, 9)),((11, 64, 3), (4, 6)),((22, 352, 24), (37, 15)),), "budėjimai": ( ((6, 3), (False, 3, 3, 1)),((7, 18), (False, 4, 3, 3)),((10, 30), (True, 10, 0, 3)),((11, 44), (True, 11, 0, 4)),((15, 64), (False, 4, 11, 5)),), } def testuok(func): fun_vardas = func.__name__ if fun_vardas in fun_testai: testai = fun_testai[fun_vardas] else: print('Funkcijos vardas', fun_vardas, 'yra nežinomas') return print('*'*8, f'Tikriname funkciją {fun_vardas}', f'su {len(testai)} duomenų rinkiniais') klaidu_sk = 0 one_arg = type(testai[0][0]) is not tuple for arg, etal in testai: try: ats = func(arg) if one_arg else func(*arg) except: print("!!! ERROR !!! Su duomenimis", arg, "klaida - tikrinimas baigiamas - nagrinėkite atskirai") return if ats != etal: print('--nepavyko: su rinkiniu', arg, 'gautas ats.:', ats, 'turi būti:', etal) klaidu_sk += 1 if klaidu_sk == 0: print(f'Teisingi visi {len(testai)} atsakymai') else: print(f'== klaidingi {klaidu_sk} atsakymai,', f't.y. {klaidu_sk/(len(testai))*100:5.2f}%')