Giter Club home page Giter Club logo

summerproject2022's People

Contributors

akarcinski avatar dadamczykk avatar droppedhard avatar halotukozak avatar irosikoni avatar kasl0 avatar kkkucia avatar krzyswys avatar ksew1 avatar m0rgho avatar madmach420 avatar niekoksu avatar puszekjuliuszek avatar rusiek avatar siendobry avatar socz3qqq avatar srzeszut avatar szymixoz avatar verylongnicknamesuchwow avatar yoinker57 avatar

Stargazers

 avatar  avatar

summerproject2022's Issues

!Tablice w pythonie przekazywane są przez referencje! (deepcopy)

Podczas pisania testów do jednego zadania coś czały czas mi nie działało, po dłuższej chwili debugowania doszło do mnie do mnie, że python przekazuje tylko referencje do tablicy. W tym momencie piszę sol.py i specjalnie napisałem go źle a przeszedł wszystkie testy, które ktoś już zrobił. Po użyciu deepcopy() (zwykłe .copy() nie wystarczy) w testach wszystko się wywala tak jak powinno. Także proszę posprawdzajcie, czy wasze testy aby napewno działają tak jak powinny, bo chyba nie widziałem, żeby ktokolwiek używał deepcopy(). A jak ktoś teraz męczy się z niedziałającymi testami to mam nadzięję, że to mu pomoże ;)

Problem z core.py

Podczas pisania chciałem sprawdzić zadanie 17 skoro są już wszystkie pliki. Zrobiłem wcześniej na wszelki wypadek pull --rebase. Po uruchomieniu core.py dostałem następujący komunikat:

PS F:\summer_project\SummerProject2022> python core.py
Checking Zadanie_01 from Zestaw_1
Checking Zadanie_15 from Zestaw_1
Checking Zadanie_17 from Zestaw_1
Traceback (most recent call last):
File "F:\summer_project\SummerProject2022\core.py", line 155, in
while menu(): pass
File "F:\summer_project\SummerProject2022\core.py", line 147, in menu
run_all_tests()
File "F:\summer_project\SummerProject2022\core.py", line 139, in run_all_tests
run_unit_test(data_source, test_source)
File "F:\summer_project\SummerProject2022\core.py", line 73, in run_unit_test
temp_data.append([float(data[i]), int(data[i + n]), data[i + (2 * n)]])
IndexError: list index out of range

Nie wiem czy jest to błąd z mojej strony czy jednak coś z core.py jest nie tak, wolę jednak wrzucić to do Issues.

readstdout.py nie obsługuje pustego outputu

def prepare(data, float_type) w readstdout.py zakłada, że output nie jest pusty
image

Wydaje mi się, że wystarczy zmiana 28 linii z:
return output[0]

Na np.:
return output[0] if len(output) > 0 else ""

Wczytywanie liczb z klawiatury

W zadaniach z zestawu drugiego w poleceniach jest napisane, że trzeba wczytywać liczby z klawiatury. Jeżeli faktycznie mamy tak robić to chyba przyda się jakiś moduł, który wpisuje argumenty na stdin. Można też po prostu przekazywać to jako argument do funkcji, ale lepiej żeby wszyscy trzymali się jednego sposobu i żeby była informacja o tym jak mamy robić.

s4t13 sito czy pierwiastek

W zadaniu chodzi z grubsza o sprawdzanie pierwszości wiele razy. Podczas układania testów udało mi się ułożyć test, z którym sol.py sobie niezbyt radzi ponieważ wykorzystuje sprawdzanie pierwszości za pomocą standardowego algorytmu O(sqrt(n)). Jeżeli weźmiemy dużą tablicę dużych liczb sumujących się do dużych liczb pierwszych to mamy problem, bo o ile pierwiastek dla kilku, kilkunastu liczb nie jest problemem tak dla 10 000 już jest. Stąd moje rozwiązanie wykorzystuje sito eratostenesa przez co przy małych danych jest minimalnie wolniejszy, za to przy dużych liczbach okazuje się, że wychodzi na prowadzenie. Pytanie co z tym robimy, czy zostawić to i nie dorzucać takiego testu bo jest to powiedzmy mniej oczywiste rozwiązanie, czy jednak wrzucić to? Zasadniczo da się jeszcze bardziej wyżyłować moje rozwiązanie ale nie widzę sensu to raz, a dwa to by zaczęło wykraczać poza WDI.

Pomysł na komentarze

Siema, pomyślałem sobie że fajną rzeczą byłoby okomentowanie poprawnego rozwiązania tak żeby ktoś kto średnio miał styczność z pythonem i programowaniem mógł zrozumieć dlaczego coś zostało napisane w taki a nie inny sposób. Ponieważ na przykład mi dużo problemu sprawiło zadanie z koniem szachowym a garkowe tłumaczenie średnio mnie przekonało. Może nie ma sensu wszystkich opisywać tylko te trudniejsze no ale taki pomysł rzucam, co wy na to?

s3t06 i s3t07 testy

Problem polega na tym, że to użytkownik generuje tablicę, którą potem zwraca. Zatem sol.py będzie się minimalnie różnił od tego co użytkownik powinien wprowadzić w prog.py a dokładniej funkcje przyjmują inne argumenty bo sol przyjmie tablicę wygenerowaną przez użytkownika a on sam przyjmie liczbę. Ponad to w kodzie będzie 1 linijka różnicy tj.
array = [randint(1, 1000) for _ in range(n)]
Ja przyjąłem taką konwencję bo nie widzę za bardzo innego sposobu, chyba, że damy użytkownikowi konkretną funkcję do wygenerowania randomowej tablicy z tym, że nie będzie ona randomowa bo my także będziemy musieli jej użyć co się mija z celem.

Sprawdzanie pustej listy

Czy funkcja napisana przez użytkownika powinna sprawdzać przypadek otrzymania pustej listy? Jako że jest to WDI nie wiem czy jest to konieczne.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.