Misalkan kita memiliki string huruf kecil s dan daftar bilangan bulat lain yang disebut shift yang panjangnya sama dengan panjang s. Di sini setiap elemen dalam shifts[i] menunjukkannya untuk menggeser huruf i + 1 pertama dari s dengan posisi shifts[i]. Jika menggeser menyilang 'z' maka akan dibungkus menjadi 'a'. Kita harus menemukan string yang dihasilkan setelah menerapkan shift ke s Show Jadi, jika inputnya seperti s = "tomat" shift = [2, 5, 2, 3, 7, 4], maka outputnya adalah "qjcoes" jadi, setelah menggeser karakter pertama 2 tempat, itu akan menjadi 't . string sekarang akan menjadi "atmato" seperti itu akhirnya string akan menjadi "qjcoes" Untuk mengatasi ini, kami akan mengikuti langkah-langkah ini −
ContohMari kita lihat implementasi berikut untuk mendapatkan pemahaman yang lebih baik − def solve(s, shifts): start = ord("a") res = [ord(i) - start for i in s] for i in range(len(shifts) - 2, -1, -1): shifts[i] += shifts[i + 1] for i in range(len(s)): c = (res[i] + shifts[i]) % 26 res[i] = chr(c + start) return "".join(res) s = "tomato" shifts = [2, 5, 2, 3, 7, 4] print(solve(s, shifts)) Memasukkan[2, 1], 3, 2_ Keluaranqjcoes Tag sudah ada dengan nama cabang yang disediakan. Banyak perintah Git menerima nama tag dan cabang, jadi membuat cabang ini dapat menyebabkan perilaku yang tidak diharapkan. Anda yakin ingin membuat cabang ini? Diberi sebuah String, geser balik setiap karakter sesuai dengan posisi abjadnya dengan K, termasuk pergeseran siklik
metode. Menggunakan maketrans() + upper() + daftar pemahaman + translate() + slicing Dalam hal ini, kami membuat tabel terjemahan untuk setiap karakter ke versi K-nya menggunakan maketrans() dan slicing. Upper() digunakan untuk menangani semua karakter huruf besar, translate() digunakan untuk melakukan terjemahan sesuai dengan tabel terjemahan pencarian yang dibuat oleh maketrans() Python3
Bagaimana Anda menggeser alfabet?Sandi Pergeseran Caesar adalah jenis sandi substitusi abjad mono di mana setiap huruf teks biasa digeser sejumlah tempat ke bawah alfabet. For example, with a shift of 1, letter A would be replaced by letter B, letter B would be replaced by letter C, and so on.
Bagaimana cara mendapatkan posisi alfabet dengan Python?Setiap huruf memiliki nilai ASCII yang dapat direpresentasikan dalam bentuk biner. Melakukan bitwise dan nilai ini dengan angka 31 akan memberikan posisi huruf dalam abjad.
Bagaimana Anda mendaftar A hingga Z dengan Python?Cara termudah untuk memuat daftar semua huruf abjad adalah dengan menggunakan string. ascii_letters , string. ascii_lowercase , dan string. instance ascii_uppercase . |