Diskuze: Vysvetlenie kratkeho kodu

Člen

Zobrazeno 7 zpráv z 7.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |


Ja bych to chapal takto (python jsem resil jen okrajove, tak to je mozna spatne):
for p,mr,ma in pole
for value0,value1,value2 in pole
pole = [
( value0, value1, value2),
( value0, value1, value2),
( value0, value1, value2),
if pos<value0 then return [value0, value1]
return [value0, value1][0] = value0
pct = value0 amt??? a nebo
pct, amt = [value0, value1] z tabulky, kterou vytvori cyklus a z ni vyberes radek 0.
Pak by to hledalo prvni hodnotu, ktera odpovida podmince, to ale mohli ukoncit pomoci break.
amt by mohla byt nejaka globalni promena
amt = amount = mnozstvi, castka (podle google)
Python je celkom dobrý jazyk ale vďaka tomuto ma dokáže veľakrát pekne nahnevať
Tá funkcia prechádza cez list . List sa skladá z trojic (p, mr, ma)
Ak je čislo p menšie ako argument pos , tak ho pridáme do dočasného listu
.
Z tohto listu potom vyberieme prvý prvok a ten vrátime
Ten algoritmus ma niekoľko múch
Prepísal by som to takto
pole = [
(30000 , 0.4, 0),
(50000 , 0.5, 50),
(1000000 , 1.0, 1600),
(5000000 , 2.1, 11300),
(10000000, 4.0, 15700),
]
def lookup_maint(pos):
for item in pole:
p,mr,ma = item #Rozbijeme trojicu do premených p ,mr a ma
if(p > pos):
return (mr/100 ,ma)
raise Exception
V prípade chyby (mimo rozsah) som dal generickú výnimku .
Ty si tam daj to čo ti vyhovuje , neviem kde sa tá funkcia používa
ps: hodilo by sa premenovať premenné aby bolo zrejme aké údaje obsahujú
Ak by sa mal list v premennej "pole" rozširiť , tak by som to vyčlenil do nového objektu tato
class Triplet:
def __init__(self, p, mr, ma):
self.p = p
self.mr = mr
self.ma = ma
def result(self):
return (self.mr/100, self.ma)
@classmethod
def createList(cls, triplets):
result = []
for item in triplets:
p,mr,ma = item
result.append(Triplet(p,mr,ma))
return result
pole = Triplet.createList([
(30000 , 0.4, 0),
(50000 , 0.5, 50),
(1000000 , 1.0, 1600),
(5000000 , 2.1, 11300),
(10000000, 4.0, 15700),
])
def lookup_maint(pos):
for item in pole:
if(item.p > pos):
return item.result()
raise Exception
Podle mne to budou nejake marketingove, obchodni pojmy, zkratky. Pokud nemas nastudovany ten obor, tak ti to nedava smysl. Takze bych to googloval se slovy: sales compute bussiness Economics Marketing shotcut
pos
p, mr, ma
pct, amt <- mr, ma
amt = amount = mnozstvi
pct = Progressive Consumption Tax = prepocitana cena s dani | price total?
mr = Marginal revenue | Markup Rate
ma = Moving Average
p = price? pieces?
pos = ?
Cili, zatim bych to hadal jako tabulku [cena, ???, mnozstvi (quantity)], ze
ktere vybere prvni polozku, ktera ma cenu mensi nez cislo 'pos' a vybere jen
sloupce [cena, mnozstvi].
Jinymi slovy, pojmenovani promennych je uplne na prd. Pouziva se min 3-5 znaku,
obvykle. Mene se pouziva leda pro takove bezvyznamne nebo proflaknute pojmy,
ktere souvisi s tematem, jako treba u fyziky s = v * t. Ale bez tematu se neda
urcit, co tim chce vlastne docilit.
Ale, mozna, ze python, pokud je kod spravne, spocita prumerne hodnoty pro
vsechny radky, kde to cislo je mensi nez 'pos'
Spis ne, spis je ten algoritmus
uplne spatne. Mozna bych si i tipnul, ze to nekdo strelil od boku a pak se
prisel zeptat na forko, zda to dela, co si myslel, ze to bude delat.
Dakujem za vysvetlenie kodu. Musim sa priznat, ze potom ako som to sem
napisal, ma napadlo, ze skusim nejaky online python compiler, kod som spustil
cez neho, aby som videl ake hodnoty ta funkcia vracia. Teraz po vysvetleni ten
kod chapem uz presnejsie.
A co sa tyka nazvov tych premennych , su to skratky , ta funkcia je len jedna
cast z celeho vypoctu kde sa pocita vysledna cena.
"Z nejakého dôvodu pokračuje v hľadaní aj keď správnu trojicu už
našiel"
No, ja jsem nad tim jeste premyslel.
Ten kod nevraci prvni nalezenou hodnotu, ale posledni vyhovujici podmince, jak
pise Zemiak.
Cili, kdyz to pole mas serazene ASC podle p (prvni sloupec, tak ti to vrati
nejblizsi hodnotu, ktera odpovida zadane cene). Coz je mozna presne to, co to ma
delat, co aplikace potrebuje.
A ted je otazka
Zobrazeno 7 zpráv z 7.