zad 3 #29

Closed
s426285 wants to merge 5 commits from s426285/DALGLI0:zad3_426285 into master
First-time contributor
No description provided.
Author
First-time contributor

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.

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.
Owner

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 ½ to 0xc2bd (znaki unicode mają podwójną szerokość).

Swoją drogą nie wiem skąd python bierze te pierwsze c2...

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 `½` to `0xc2bd` (znaki unicode mają podwójną szerokość). Swoją drogą nie wiem skąd python bierze te pierwsze `c2`...
Author
First-time contributor

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

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 ```
Owner

ok, uwagi do kodu:

  1. przeciążanie __truediv__ jest ok, chociaż w przypadku tego co robimy (chyba?) lepsze byłoby przeciążenie __mod__

  2. sporo używania operatora % można by uniknąć gdyby elementy były od razu typu IntMod; No i można było użyć klasy Polynomial z pliku obok (dzielonego pomiędzy hw2.py, hw3.py a za moment hw4.py ;-)

  3. 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!

ok, uwagi do kodu: 1. przeciążanie `__truediv__` jest ok, chociaż w przypadku tego co robimy (chyba?) lepsze byłoby przeciążenie `__mod__` 2. sporo używania operatora `%` można by uniknąć gdyby elementy były od razu typu `IntMod`; No i można było użyć klasy `Polynomial` z pliku obok (dzielonego pomiędzy `hw2.py`, `hw3.py` a za moment `hw4.py` ;-) 3. 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!
kalmar closed this pull request 2018-06-29 01:48:02 +02:00

Pull request closed

Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: kalmar/DALGLI0#29
No description provided.