Prvočíslo - #213
Conversation
turecekt
left a comment
There was a problem hiding this comment.
Upravit dle navržených změn, přidat test na funkci Vstup, doplnit docstringy do test funkcí, povolit workflow python_checker.yml v actions zde: https://github.com/tomassigmund/vs_project-1/actions
| # MAIN | ||
| moznePrvocislo = Vstup() # Získá vstup od uživatele | ||
|
|
||
| if(moznePrvocislo > 0): # Otestuje chybový vstup | ||
| Vystup(Metody(moznePrvocislo)) # Vystup s řešením | ||
| else: | ||
| Vystup() # Vystup s chybovou hláškou No newline at end of file |
There was a problem hiding this comment.
| # MAIN | |
| moznePrvocislo = Vstup() # Získá vstup od uživatele | |
| if(moznePrvocislo > 0): # Otestuje chybový vstup | |
| Vystup(Metody(moznePrvocislo)) # Vystup s řešením | |
| else: | |
| Vystup() # Vystup s chybovou hláškou | |
| if __name__ == "__main__": | |
| # MAIN | |
| moznePrvocislo = Vstup(input("Zadej číslo:")) # Získá vstup od uživatele | |
| if(moznePrvocislo > 0): # Otestuje chybový vstup | |
| Vystup(Metody(moznePrvocislo)) # Vystup s řešením | |
| else: | |
| Vystup() # Vystup s chybovou hláškou |
| assert HeurestickaMetoda(12) == False | ||
|
|
||
|
|
||
| def Vstup(): |
There was a problem hiding this comment.
| def Vstup(): | |
| def Vstup(Napsanecislo): |
| """ | ||
| Funkce získá vstup od uživatele proti chybám. | ||
| """ | ||
| Napsanecislo = input("Zadej číslo:") |
There was a problem hiding this comment.
| Napsanecislo = input("Zadej číslo:") |
turecekt
left a comment
There was a problem hiding this comment.
Přidat test na metodu Vystup pro zvýšení pokrytí kódu testy
| assert Vstup([0,"kk"]) == False | ||
| assert Vstup([3,7]) == True |
There was a problem hiding this comment.
Chyba v testu, funkce Vstup opravdu očekává pole?
turecekt
left a comment
There was a problem hiding this comment.
Stále chyby v testech viz:
FAILED main.py::test_DeterministickaMetoda - assert None == False
Do funkce výsput přidejte nějaké návratové hodnoty a napište na ti test pro zvýšení pokrytí kódu testy.
turecekt
left a comment
There was a problem hiding this comment.
- opravit funkci DeterministickaMetoda viz code review
- refaktorovat kód ve funkci Vystup - opakované volání funkce print nahraďte jedním voláním printu s multiline stringem, tím se dosáhne na požadované pokrytí kódu testy
- vyčistit kód a dokumentační řetězce aby prošlo nástrojem flake8
- přijet změny z upstream repozitáře (viz zadání projektu na moodlu)
turecekt
left a comment
There was a problem hiding this comment.
- smazat soubor example.py
- main.py přejmenovat na test_prime.py
- následně opravit chyby flake8
- sledujte automatické testy po odjetí do repozitáře viz: https://github.com/tomassigmund/vs_project-1/actions
- nastavit gh-pages a build and deployment source na actions v nastavení repozitáře, sekce Pages viz zadání projektu na moodlu.
- nakonec upravit Website url na url vašich gh-pages s vygenerovanou dokumentací, v sekci About na hlavní stránce repa.
turecekt
left a comment
There was a problem hiding this comment.
Testy už prochází, tak teď ještě ty chyby statické analýzy viz: https://github.com/tomassigmund/vs_project-1/actions/runs/4081714027/jobs/7035350549
| '''def test_Vstup(): | ||
| assert Vstup("1") is True | ||
| assert Vstup("k") is False | ||
| ''' |
There was a problem hiding this comment.
| '''def test_Vstup(): | |
| assert Vstup("1") is True | |
| assert Vstup("k") is False | |
| ''' | |
| def test_Vstup(): | |
| assert Vstup("1") == 1 | |
| assert Vstup("k") == 0 |
| my_str1 ='CHYBA při zadávání. Zadaná hodnota neopodívá formátu,který' | ||
| my_str2 ='se dá přečíst.Restartuj a zadej přirozené číslo.' | ||
|
|
There was a problem hiding this comment.
| my_str1 ='CHYBA při zadávání. Zadaná hodnota neopodívá formátu,který' | |
| my_str2 ='se dá přečíst.Restartuj a zadej přirozené číslo.' | |
| my_str2 ='se dá přečíst.Restartuj a zadej přirozené číslo.' | ||
|
|
||
| if (pouzitaMetoda == 0): | ||
| print(my_str1 + my_str2) |
There was a problem hiding this comment.
| print(my_str1 + my_str2) | |
| print('CHYBA při zadávání. Zadaná hodnota neopodívá formátu,který' + | |
| 'se dá přečíst.Restartuj a zadej přirozené číslo.') |
| my_str3 ='HEURISTICKÁ metoda-Rozpozná číslici 1 a vyřadí ji, číslo není.' | ||
| my_str4 ='prvočíslo.(číslo musí být dělitelné DVĚMA čísly, samosebou a jedničkou)' | ||
| my_str5 ='HEURISTICKÁ metoda-pravidla dělitelnosti.Určí neprvočísla, pomocí toho, že číslo ' | ||
| my_str6 ='končí určitým číslem podle,pravidel dělitelnosti, lze vydělit prvočíslem.' | ||
| my_str7='HEURISTICKÁ metoda-Wilsonova věta. Používá matematický vztah ((n - 1)! + 1) % n' | ||
| my_str8 ='DETERMINISTICKÁ metoda-Zkouší pokud je číslo dělitelné některým' | ||
| my_str9 ='z předtím nalezených prvočísel do maximální hodnoty odmocniny' | ||
| my_str10 ='ze zadaného čísla.Pokud není dělitelné,je to prvočíslo.' | ||
|
|
||
| if (pouzitaMetoda == 1): | ||
| print(my_str3 + my_str4) | ||
| elif (pouzitaMetoda == 2): | ||
| print(my_str5 + my_str6) | ||
| elif (pouzitaMetoda == 3): | ||
| print(my_str7) | ||
| elif (pouzitaMetoda == 4): | ||
| print(my_str8 + my_str9 + my_str10) |
There was a problem hiding this comment.
upravit stejně jako u my_str1 a my_str2, tedy zrušit definici proměnné a dát do printu jako řetězce z vícero řádků
turecekt
left a comment
There was a problem hiding this comment.
nakonec upravit Website url na url vašich gh-pages s vygenerovanou dokumentací, v sekci About na hlavní stránce repa.
|
|
||
|
|
||
| def test_Metody(): | ||
| """Test metod""" |
There was a problem hiding this comment.
| """Test metod""" | |
| """Test metod.""" |
| assert Metody(8) == -3 | ||
| assert Metody(50013) == -4 | ||
| assert Metody(50011) == -4 | ||
| print ('done') |
| """Funkce určí některá neprvočísla,pomocí toho, že je číslo končí""" | ||
| """určitým číslem,které podle pravidel,lze vydělit již prvočíslem.""" |
There was a problem hiding this comment.
| """Funkce určí některá neprvočísla,pomocí toho, že je číslo končí""" | |
| """určitým číslem,které podle pravidel,lze vydělit již prvočíslem.""" | |
| """Test funkce MetodaPravidelDelitelnosti.""" |
|
|
||
|
|
||
| def test_DeterministickaMetoda(): | ||
| """Funkce zjistuje u téhle metody,jestli je číslo prvočíslo""" |
There was a problem hiding this comment.
| """Funkce zjistuje u téhle metody,jestli je číslo prvočíslo""" | |
| """Funkce zjistuje u téhle metody,jestli je číslo prvočíslo.""" |
|
|
||
|
|
||
| def test_HeurestickaMetoda(): | ||
| """Funkce zjistuje u téhle metody,jestli je číslo prvočíslo""" |
There was a problem hiding this comment.
| """Funkce zjistuje u téhle metody,jestli je číslo prvočíslo""" | |
| """Funkce zjistuje u téhle metody,jestli je číslo prvočíslo.""" |
|
|
||
|
|
||
| def test_Vstup(): | ||
| """Správně pouze celá čísla 0-9 ne znaky a písmena)""" |
There was a problem hiding this comment.
| """Správně pouze celá čísla 0-9 ne znaky a písmena)""" | |
| """Správně pouze celá čísla 0-9 ne znaky a písmena.""" |
|
|
||
|
|
||
| def Metody(cislo): | ||
| """použita metoda""" |
There was a problem hiding this comment.
| """použita metoda""" | |
| """použita metoda.""" |
No description provided.