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

Kod Cezara Python

Fiszki IT
Fiszki IT
+1 głos
83 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 (166,950 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ź 236 wizyt
pytanie zadane 23 października 2020 w Python przez Szymi12 Użytkownik (630 p.)
0 głosów
1 odpowiedź 891 wizyt
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

84,751 zapytań

133,554 odpowiedzi

295,978 komentarzy

56,010 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.

...