• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kod Cezara Python

Object Storage Arubacloud
+1 głos
2,634 wizyt
pytanie zadane 27 maja 2021 w Python przez Jakub wojownik Początkujący (400 p.)

Cześć miałem zrobić zadanie z kodu Cezara w Pythonie wszystko git tylko jest jeden problem nie wykrywa mi polskich znaków. Co musiał bym zmienić w tym kodzie żeby zadziałało?

tekst = input("Podaj ciąg do zaszyfrowania: ")
klucz = int(input("Podaj klucz "))
zaszyfrowany = ""
odszyfrowany = ""
for i in range(len(tekst)):
    if ord(tekst[i]) > 122 - klucz:
        zaszyfrowany += chr(ord(tekst[i])+ klucz -26)
    else:
        zaszyfrowany += chr(ord(tekst[i]) + klucz)
print("Zaszyfrowany tekst:",zaszyfrowany)

for d in range(len(zaszyfrowany)):
    if ord(zaszyfrowany[d]) > 122 - klucz:
        odszyfrowany += chr(ord(zaszyfrowany[d]) - klucz -26)
    else:
        odszyfrowany += chr(ord(zaszyfrowany[d]) - klucz)
print("Odszyfrowany tekst:",odszyfrowany)

 

komentarz 27 maja 2021 przez Nelson89 Dyskutant (7,720 p.)

Cześć,

jak podczas uruchomienia programu pojawia się błąd typu: Non-ASCII character ... to użyj Pythona w wersji 3. Python w wersji 2 nie obsługuje polskich znaków, nawet tych w komentarzach.

Czy może masz krzaczki w miejsce polskich znaków?

Pozdrawiam,

Nelson

komentarz 28 maja 2021 przez Jakub wojownik Początkujący (400 p.)
Zamiast polskich znaków daje mi jakieś skandynawskie no jakieś hieroglify no najprostrzy wyraz jaki sprawdzałem jeść i jest coś dziwnego

1 odpowiedź

0 głosów
odpowiedź 27 maja 2021 przez Bun1o Obywatel (1,620 p.)
Jeżeli nie potrzebujesz tych polskich znaków, to na Twoim miejscu bym się z tym nie męczył.

W każdym razie chodzi o to, że 122 to numer ostatniej litery alfabetu łacińskiego w ASCII, czyli 'z'. Polskie litery są dopiero później i na dodatek wymieszane z takimi znakami, jak á, ö, ç.

Pierwsze co mi przychodzi do głowy, to w przypadku tych znaków dodać warunki sprawdzania stricte do każdego znaku, tylko, że wtedy byś musiał zmienić również mechanizm szyfrowania, ale może jest jakiś prostszy sposób
komentarz 27 maja 2021 przez Wiciorny Ekspert (269,710 p.)
od tego są regexy odpowiednie i tym powinien się zająć autor żeby uwzględnić ewentualne regex-expression
komentarz 28 maja 2021 przez Jakub wojownik Początkujący (400 p.)

@Bun1o, jak bym nie musiał to bym się nie męczył bo kod napisałem ale wpisałem 500 zamiast 122 i zadziałały polskie znaki po prostu xD nie wierze w to może nie zauważy 

Podobne pytania

0 głosów
1 odpowiedź 1,890 wizyt
pytanie zadane 23 października 2020 w Python przez Szymi12 Użytkownik (630 p.)
0 głosów
1 odpowiedź 2,539 wizyt

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...