Diskuze: Výpočet data velikonoc - pomoc s řešením
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Ahoj,
return datumvelikonoce(rok,1,4)
Ps: pro kód používej tlačítko </> lépe se to čte.
Ta poslední podmínka není if, ale else podle té tvé definice.
Jinak u = 22 + d + e, v = 3 a Velikonoční neděle připadá na u-tý březen.
To znamená, že výsledek je u = 22 + d + e a v = 3, pokud nebyla splněna žádná z předchozích podmínek.
Dál máš tunu chyb v syntaxi a v logice kódu. Nemůžeš rekurzivně vracet datumvelikonoc(x, y, z). Nejen že máš tu funkci definovanou pouze s jedním parametrem, ale ani to nedává žádný smysl.
Tady je na rychlo vytvořená verze (snad bez chyb, spustit to jde). Doporučuju si zopakovat základy Pythonu.
def datumvelikonoce(rok):
a = rok % 19
b = rok % 4
c = rok % 7
d = ((a * 19) + 24) % 30
e = (5 + (b*2) + (c * 4) + (d * 6)) % 7
u = d + e - 9
if (u==25 and d==28 and e==6 and a > 10):
return (rok, 18,4)
elif (u >= 1 and u <=25):
return (rok, u, 4)
elif(u > 25):
return (rok, u - 7,4)
else:
return (rok, 22 + d + e, 3)
Zobrazeno 3 zpráv z 3.