Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Caesar Cipher Saya Berfungsi dalam Python Hanya Memaparkan Watak Terakhir yang Dipindah?

Mengapa Caesar Cipher Saya Berfungsi dalam Python Hanya Memaparkan Watak Terakhir yang Dipindah?

Patricia Arquette
Lepaskan: 2024-10-29 06:05:02
asal
714 orang telah melayarinya

Why Does My Caesar Cipher Function in Python Only Display the Last Shifted Character?

Fungsi Caesar Cipher dalam Python: Rentetan Disulitkan

Apabila melaksanakan fungsi Caesar Cipher dalam Python, isu biasa timbul apabila teks yang disulitkan terakhir hanya memaparkan aksara yang dialihkan terakhir. Untuk menyelesaikan masalah ini, anda perlu memahami isu yang menyebabkan gelagat ini.

Dalam kod yang disediakan, gelung berulang pada setiap aksara dalam teks biasa. Untuk aksara abjad, ia mengalihkan kod ASCII aksara berdasarkan nilai anjakan yang disediakan. Walau bagaimanapun, setiap aksara yang dialihkan dilampirkan pada rentetan kosong bernama cipherText dalam gelung. Akibatnya, hanya aksara terakhir dipaparkan sebagai teks yang disulitkan.

Untuk membetulkan isu ini, teks sifir mesti dibina dalam gelung dan dikembalikan setelah semua aksara telah diproses. Ini boleh dicapai dengan mengubah suai kod seperti berikut:

<code class="python">def caesar(plainText, shift):
    cipherText = ""
    for ch in plainText:
        if ch.isalpha():
            stayInAlphabet = ord(ch) + shift
            if stayInAlphabet > ord('z'):
                stayInAlphabet -= 26
            finalLetter = chr(stayInAlphabet)
        cipherText += finalLetter

    return cipherText</code>
Salin selepas log masuk

Dengan pengubahsuaian ini, rentetan cipherText dimulakan sekali dan semua aksara yang dialihkan dilampirkan padanya dalam gelung. Apabila fungsi kembali, rentetan yang disulitkan mengandungi semua aksara yang dialihkan, seperti yang dimaksudkan.

Atas ialah kandungan terperinci Mengapa Caesar Cipher Saya Berfungsi dalam Python Hanya Memaparkan Watak Terakhir yang Dipindah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan