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

Kod Cezara Python

+1 głos
79 wizyt
pytanie zadane 27 maja 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 przez Nelson89 Mądrala (5,520 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 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 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 przez Wiciorny Mędrzec (154,820 p.)
od tego są regexy odpowiednie i tym powinien się zająć autor żeby uwzględnić ewentualne regex-expression
komentarz 28 maja 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ź 212 wizyt
pytanie zadane 23 października 2020 w Python przez Szymi12 Użytkownik (630 p.)
0 głosów
1 odpowiedź 858 wizyt
Porady nie od parady
Forum posiada swój własny serwer Discord, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

84,091 zapytań

132,861 odpowiedzi

293,830 komentarzy

55,529 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...