Mengapakah My Python Caesar Cipher Berfungsi Hanya Memaparkan Watak Terakhir Yang Dipindah?

Susan Sarandon
Lepaskan: 2024-10-31 21:30:29
asal
684 orang telah melayarinya

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

Fungsi Caesar Cipher dalam Python: Menyelesaikan Masalah Peralihan Watak

Dalam cuba mencipta fungsi Caesar Cipher dalam Python, pengguna menghadapi isu yang berulang di mana hanya aksara terakhir yang dialihkan dipaparkan, bukannya keseluruhan rentetan cipher. Untuk menangani perkara ini, kami menyelidiki kod tersebut dan menentukan punca puncanya.

Kod yang disediakan mematuhi prinsip Caesar Cipher: ia menerima teks biasa dan nilai anjakan, dan ia berulang melalui setiap aksara, menggunakan anjakan yang diperlukan. Walau bagaimanapun, terdapat satu langkah penting yang tiada: mencipta rentetan baharu untuk menyimpan aksara yang disifir.

Dalam fungsi, pemulaan cipherText harus berlaku di luar gelung. Seperti sedia ada, cipherText dimulakan semula dalam setiap lelaran, dengan berkesan menimpa aksara cipher sebelumnya dan menghasilkan paparan hanya aksara terakhir yang dialihkan.

Untuk membetulkan isu ini, kami 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

    print("Your ciphertext is: ", cipherText)
    return cipherText</code>
Salin selepas log masuk

Begini cara ia berfungsi:

  • Kami mengisytiharkan cipherText di luar gelung, memulakannya sebagai rentetan kosong.
  • Di dalam gelung, selepas mengira Huruf akhir, kami tambahkan ia ke rentetan cipherText.

Kod yang dikemas kini ini mengumpulkan semua aksara yang dialihkan dengan betul, menghasilkan rentetan sifir yang dikehendaki.

Atas ialah kandungan terperinci Mengapakah My Python Caesar Cipher Berfungsi 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!