Školní úkol - výpočet kombinatorických funkcí – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Školní úkol - výpočet kombinatorických funkcí – Python – Fórum – Programujte.comŠkolní úkol - výpočet kombinatorických funkcí – Python – Fórum – Programujte.com

 

Nohy0
Duch
12. 3. 2013   #1
-
0
-

Zdravím,

Dostali jsme zadání práce na Python jenže jsem chyběl příliš dlouho a jelikož maturuji tak jsem nestihl udělat tenhle jednoduchý prográmek a potřeboval bych pomoc s tímto jednuduchym zadání jestli se prosím najde někdo ochotný.

Dopředu děkuji, je to pro mě rozhodunjící známka :-/

Přikládám zadání:

Vytvořte v Pythonu 3 řádkovou aplikace nazvanou "spocti.py3",
která zpracuje 1. argument příkazového řádku s textem:

V(k,n)
Vo(k,n)
C(k,n)
Co(k,n)
P(n)

kde n, k znamenají konkrétní čísla,
V = variace, Vo = variace s opakováním
C = kombinace, Co = kombinace s opakováním,
P = permutace.

Např.:

$ ./spocti.py3 C(2,4)

spočítá kombinace druhé třídy ze čtyř prvků a na výstupu bude

6

Pro jednotlivé výpočty vytvořte samostatné funkce.
Nezapomeňte ošetřit výjimky






Nahlásit jako SPAM
IP: 212.24.143.–
jakubk
~ Redaktor
+4
Posthunter
12. 3. 2013   #2
-
0
-

#1 Nohy
Rád bych poradil, ale vždyť je to jenom dosazení do vzorečků

Nahlásit jako SPAM
IP: 109.246.197.–
Wrunx
~ Anonymní uživatel
35 příspěvků
12. 3. 2013   #3
-
0
-

Tak tazatel třeba neví jak si poradit se vstupními argumenty a celou koncepcí....?

Jen tak narychlo náčrt (neříkám že se tam nedá leccos vylepšovat):

from math import factorial as fa # pro faktorial - prece se s tim nebudeme programovat rucne

from sys import exit,argv # pro sebrani argumentu ze vstupu

p=argv[1:] # volani programu ale musi byt ve forme napr. program.py Vo 2 4

if ((p[0] != "P") and (len(p) !=3)) or ((p[0] == "P") and (len(p) != 2)):
	exit("Chyba v parametrech.") # zakladni kontrola, dalsim kontrolam se meze nekladou :-)

# tady by se treba hodilo try pro pripad ze misto cisla bude pismeno... apod.
p[1]=int(p[1])
if p[0] != "P":
	p[2]=int(p[2])

# dale V, Vo... budou jednotlive funkce podle klasickych vzorecku, napriklad

def V(k,n):
	return fa(n)/fa(n-k)
def Vo(k,n):
	return n**k
# atd.

# no a pak volani funkce podle druhu, treba:

if p[0]=="V":
	print (V(p[1],p[2]))
if p[0]=="Vo":
	print (Vo(p[1],p[2])) # atd.

:-)

Nahlásit jako SPAM
IP: 188.120.195.–
Nohy0
Duch
14. 3. 2013   #4
-
0
-

Díky moc, pomohli mi to! Já vím že je to jednuduché ale chyběl jsem necelý 2 měsíce takže musím ještě dost dohánět. Ještě jednou dík.

Nahlásit jako SPAM
IP: 82.113.63.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

Podobná vlákna

Skolni ukol... — založil ladenka

Školní projekt — založil Honza

školní práce — založil Jan Malý

Školní práce v C — založil Marek

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý