zad 3 #29
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "s426285/DALGLI0:zad3_426285"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Program przyjmuje argumenty z konsoli (argv), na pierwszym miejscu string, a na drugim flagę -e (1. punkt zadania) lub -d (2. punkt zadania). Bazuje na wcześniejszej implementacji działań na wielomianach, nie ma optymalizacji. Przykładowe uruchomienia na LTS:
python3 hw3.py abc -e
python3 hw3.py abcQJ -d
Zadanie w terminie wysłałem mailem, ponieważ gdy wtedy próbowałem zrobić pull request Git zwracał 404 error.
Dziękuję;
Program wyrzuca na konsolę tekst w UTF-8, co powoduje niemożność odczytania FCS; encode powinno zwracać bytes object, wtedy nie będzie problemu, np.
bytes(some_string, 'unicode_escape')
np. dla
Hello world!
fcs powinien być0xbd22
, tuaj jest½"
, co prawie się zgadza biorąc pod uwagę, że½
to0xc2bd
(znaki unicode mają podwójną szerokość).Swoją drogą nie wiem skąd python bierze te pierwsze
c2
...Program zmieniony by wyświetlanie znaków nie było problemem
python3 hw3.py -e "Hello world"
['H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', 'E', '\x91']
python3 hw3.py -d "Hello world" "['E', '\x91']"
True
ok, uwagi do kodu:
przeciążanie
__truediv__
jest ok, chociaż w przypadku tego co robimy (chyba?) lepsze byłoby przeciążenie__mod__
sporo używania operatora
%
można by uniknąć gdyby elementy były od razu typuIntMod
; No i można było użyć klasyPolynomial
z pliku obok (dzielonego pomiędzyhw2.py
,hw3.py
a za momenthw4.py
;-)ogólnie encode powinno zwracać
ba = bytearray(....)
, bo jest to najbardziej przenośne (nie interesuje nas kodowanie, itp), wtedy to co trafia do decode możemy podzielićfcs = ba[-2:0]; msg = ba[0:-2].decode('ascii')
.ogólnie nieźle!
Pull request closed