Cara memindahkan huruf pertama dari sebuah kata ke akhir dengan python

Pig Latin adalah permainan bahasa, di mana Anda memindahkan huruf pertama dari kata ke akhir dan menambahkan “ay. ” Jadi "Python" menjadi "ythonpay. ” Untuk menulis penerjemah Pig Latin dengan Python, berikut adalah langkah-langkah yang perlu kita ambil. 01. Minta pengguna untuk memasukkan kata dalam bahasa Inggris. 02. Pastikan pengguna memasukkan kata yang valid. 03. Mengkonversi kata dari bahasa Inggris ke Pig Latin. 04. Menampilkan hasil terjemahan

Tipe yang terdiri dari bagian yang lebih kecil disebut tipe data majemuk. Bergantung pada apa yang kita lakukan, kita mungkin ingin memperlakukan tipe data majemuk sebagai satu hal, atau kita mungkin ingin mengakses bagian-bagiannya. Ambiguitas ini berguna

Operator braket memilih satu karakter dari string

>>> fruit = "banana"
>>> letter = fruit[1]
>>> print letter

Ekspresi buah[1] memilih karakter nomor 1 dari buah. The variable huruf mengacu pada hasilnya. Saat kami menampilkan huruf , kami mendapat kejutan.

a
_

Huruf pertama dari "banana" bukan a, unless you are a computer scientist. For perverse reasons, computer scientists always start counting from zero. The 0th letter ( zero-eth ) of "banana" adalah b . Huruf ke-1 ( satu-eth ) adalah a , dan huruf ke-2 ( dua-eth ) adalah n< . .

Jika Anda menginginkan huruf nol-eth dari sebuah string, Anda cukup memasukkan 0, atau ekspresi apa pun dengan nilai 0, di dalam tanda kurung

>>> letter = fruit[0]
>>> print letter
b

Ekspresi dalam tanda kurung disebut indeks. Indeks menentukan anggota dari himpunan terurut, dalam hal ini himpunan karakter dalam string. Indeks menunjukkan mana yang Anda inginkan, karenanya namanya. Itu bisa berupa ekspresi bilangan bulat apa pun

7. 2. Panjangnya

Fungsi len mengembalikan jumlah karakter dalam string.

>>> fruit = "banana"
>>> len(fruit)
6

Untuk mendapatkan huruf terakhir dari sebuah string, Anda mungkin tergoda untuk mencoba sesuatu seperti ini

length = len(fruit)
last = fruit[length]       # ERROR!
_

Itu tidak akan berhasil. Ini menyebabkan galat runtime IndexError. string indeks di luar dari rentang . Alasannya adalah tidak ada huruf ke-6 pada . The reason is that there is no 6th letter in "banana" . Karena kami mulai menghitung dari nol, enam huruf diberi nomor 0 sampai 5. Untuk mendapatkan karakter terakhir, kita harus mengurangkan 1 dari panjang .

length = len(fruit)
last = fruit[length-1]

Alternatifnya, kita dapat menggunakan indeks negatif, yang dihitung mundur dari akhir string. Ekspresi buah[-1] menghasilkan huruf terakhir, buah[-2] yields the second to last, and so on.

7. 3. Traversal dan for loop

Banyak perhitungan melibatkan pemrosesan string satu karakter pada satu waktu. Seringkali mereka mulai dari awal, memilih setiap karakter secara bergiliran, melakukan sesuatu, dan melanjutkan sampai akhir. Pola pemrosesan ini disebut traversal. Salah satu cara untuk menyandikan traversal adalah dengan pernyataan while .

index = 0
while index < len(fruit):
    letter = fruit[index]
    print letter
    index += 1
_

Perulangan ini melintasi string dan menampilkan setiap huruf pada baris dengan sendirinya. Kondisi perulangannya adalah indeks < len(buah) , jadi saat < . Karakter terakhir yang diakses adalah karakter dengan indeks index is equal to the length of the string, the condition is false, and the body of the loop is not executed. The last character accessed is the one with the index len(fruit)-1 , yang merupakan karakter terakhir dalam string.

Menggunakan indeks untuk melintasi serangkaian nilai sangat umum sehingga Python menyediakan sintaks alternatif yang lebih sederhana — loop for .

for char in fruit:
    print char

Setiap kali melalui perulangan, karakter berikutnya dalam string ditugaskan ke variabel char . Pengulangan berlanjut hingga tidak ada karakter yang tersisa.

Contoh berikut menunjukkan cara menggunakan rangkaian dan perulangan for untuk menghasilkan deret abecedarian. Abecedarian mengacu pada rangkaian atau daftar di mana elemen muncul dalam urutan abjad. Misalnya, dalam buku Robert McCloskey, Make Way for Ducklings, nama bebek-bebek itu adalah Jack, Kack, Lack, Mack, Nack, Ouack, Pack, dan Quack. Loop ini mengeluarkan nama-nama ini secara berurutan.

prefixes = "JKLMNOPQ"
suffix = "ack"

for letter in prefixes:
    print letter + suffix
_

Keluaran dari program ini adalah

Jack
Kack
Lack
Mack
Nack
Oack
Pack
Qack
_

Tentu saja, itu kurang tepat karena Ouack dan Quack salah eja. Anda akan memperbaikinya sebagai latihan di bawah ini

7. 4. Irisan tali

Substring dari sebuah string disebut slice. Memilih potongan mirip dengan memilih karakter

a
_0

Operator [n. m] mengembalikan bagian string dari karakter ke-n ke karakter ke-m, termasuk yang pertama tetapi tidak termasuk yang terakhir. Perilaku ini berlawanan dengan intuisi; .

Cara memindahkan huruf pertama dari sebuah kata ke akhir dengan python

Jika Anda menghilangkan indeks pertama (sebelum tanda titik dua), irisan akan dimulai di awal string. Jika Anda menghilangkan indeks kedua, potongan akan menuju ke ujung string. Jadi

a
_1

Bagaimana menurut Anda s[. ] artinya?

7. 5. Perbandingan string

Operator perbandingan bekerja pada string. Untuk melihat apakah dua string sama

a
_2

Operator pembanding lainnya berguna untuk menyusun kata-kata dalam urutan leksikografis

a
_3

Ini mirip dengan urutan abjad yang akan Anda gunakan dengan kamus, kecuali bahwa semua huruf besar datang sebelum semua huruf kecil. Sebagai hasilnya

a
_4

Cara umum untuk mengatasi masalah ini adalah mengonversi string ke format standar, seperti semua huruf kecil, sebelum melakukan perbandingan. Masalah yang lebih sulit adalah membuat program menyadari bahwa zebra bukanlah buah

7. 6. String tidak dapat diubah

Sangat menggoda untuk menggunakan [] operator di sisi kiri tugas, dengan tujuan mengubah karakter dalam string. Sebagai contoh.

a
_5

Alih-alih menghasilkan output Jello, world. , kode ini menghasilkan kesalahan runtime TypeError. 'str' objek tidak mendukung item assignment.

String tidak dapat diubah, artinya Anda tidak dapat mengubah string yang sudah ada. Hal terbaik yang dapat Anda lakukan adalah membuat string baru yang merupakan variasi dari aslinya

a
_6

Solusinya di sini adalah menggabungkan huruf pertama yang baru ke dalam potongan sapaan . Operasi ini tidak berpengaruh pada string asli.

7. 7. Operator in operator

Operator in menguji apakah satu string adalah substring dari yang lain.

a
_7

Perhatikan bahwa string adalah substring dari dirinya sendiri

a
_8

Menggabungkan operator in dengan penggabungan string menggunakan + .

a
_9

Uji fungsi ini untuk mengonfirmasi bahwa ia melakukan apa yang kita inginkan

7. 8. Fungsi temukan function

Apa yang dilakukan fungsi berikut?

>>> letter = fruit[0]
>>> print letter
b
0

Dalam arti tertentu, find adalah kebalikan dari [] operator. Instead of taking an index and extracting the corresponding character, it takes a character and finds the index where that character appears. If the character is not found, the function returns -1 .

Ini adalah contoh pertama yang kami lihat tentang pernyataan return di dalam sebuah loop. Jika strng[index] == ch , fungsi segera kembali, .

Jika karakter tidak muncul dalam string, maka program akan keluar dari loop secara normal dan mengembalikan -1 .

Pola perhitungan ini terkadang disebut eureka traversal karena begitu kita menemukan apa yang kita cari, kita bisa berteriak Eureka. dan berhenti mencari

7. 9. Mengulangi dan menghitung

Program berikut menghitung berapa kali huruf a muncul dalam sebuah string, dan merupakan contoh lain dari pola penghitung yang diperkenalkan di.

>>> letter = fruit[0]
>>> print letter
b
1

7. 10. Parameter opsional

Untuk menemukan lokasi munculnya karakter kedua atau ketiga dalam sebuah string, kita dapat memodifikasi fungsi find , menambahkan fungsi ketiga .

>>> letter = fruit[0]
>>> print letter
b
2

Panggilan find2('banana', 'a', 2) now returns 3, the index of the first occurance of ‘a’ in ‘banana’ after index 2. What does find2('banana', 'n', 3) . find2 works.

Lebih baik lagi, kita dapat menggabungkan find dan find2 .

>>> letter = fruit[0]
>>> print letter
b
_3

Panggilan find('banana', 'a', 2) to this version of find behaves just like find2, while in the call find('banana', 'a'), start will be set to the default value of 0.

Menambahkan parameter opsional lain ke find membuatnya mencari maju dan mundur.

>>> letter = fruit[0]
>>> print letter
b
_4

Meneruskan nilai len(strng)-1 untuk awal dan -1 for step will make it search toward the beginning of the string instead of the end. Note that we needed to check for a lower bound for indeks di while loop serta batas atas untuk mengakomodasi perubahan ini.

7. 11. Modul string module

Modul string berisi fungsi berguna yang memanipulasi string. Seperti biasa, kita harus mengimpor modul sebelum kita dapat menggunakannya.

>>> letter = fruit[0]
>>> print letter
b
5

Untuk melihat apa yang ada di dalamnya, gunakan fungsi dir dengan nama modul sebagai argumen.

>>> letter = fruit[0]
>>> print letter
b
6

yang akan mengembalikan daftar item di dalam modul string

['Template', '_TemplateMetaclass', '__builtins__', '__doc__',< '__file__', '__name__', '_float', '_idmap', '_idmapL', '_int', '_long', '_multimap', '_re', 'ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'atof', 'atof_error', 'atoi', 'atoi_error', 'atol', 'atol_error', 'capitalize', 'capwords', 'center', 'count', 'digits', 'expandtabs', 'find', 'hexdigits', 'index', 'index_error', 'join', 'joinfields', 'letters', 'ljust', 'lower', 'lowercase', 'lstrip', 'maketrans', 'octdigits', 'printable', 'punctuation', 'replace', 'rfind', 'rindex', 'rjust', 'rsplit', 'rstrip', 'split', 'splitfields', 'strip', 'swapcase', 'translate', 'upper', 'uppercase', 'whitespace', 'zfill']

Untuk mengetahui lebih lanjut tentang item dalam daftar ini, kita dapat menggunakan perintah ketik . Kita perlu menentukan nama modul diikuti dengan item menggunakan notasi titik.

>>> letter = fruit[0]
>>> print letter
b
7

Sejak string. digit adalah sebuah string, kita dapat mencetaknya untuk melihat isinya.

>>> letter = fruit[0]
>>> print letter
b
_8

Tidak mengherankan, itu berisi masing-masing angka desimal

string. find adalah fungsi yang melakukan banyak hal yang sama seperti fungsi yang kita tulis. Untuk mengetahui lebih lanjut, kita dapat mencetak docstringnya, __doc__ , yang berisi dokumentasi tentang fungsi tersebut.

>>> letter = fruit[0]
>>> print letter
b
_9

Parameter dalam tanda kurung siku adalah parameter opsional. Kita bisa menggunakan string. temukan sebanyak yang kita lakukan sendiri temukan .

>>> fruit = "banana"
>>> len(fruit)
6
0

Contoh ini mendemonstrasikan salah satu manfaat modul — modul membantu menghindari benturan antara nama fungsi bawaan dan fungsi yang ditentukan pengguna. Dengan menggunakan notasi titik kita dapat menentukan versi find yang kita inginkan.

Sebenarnya, string. find lebih umum daripada versi kami. itu dapat menemukan substring, bukan hanya karakter.

>>> fruit = "banana"
>>> len(fruit)
6
1

Seperti kami, dibutuhkan argumen tambahan yang menentukan indeks di mana ia harus dimulai

>>> fruit = "banana"
>>> len(fruit)
6
2

Tidak seperti milik kami, parameter opsional keduanya menentukan indeks tempat pencarian harus diakhiri

>>> fruit = "banana"
>>> len(fruit)
6
_3

Dalam contoh ini, pencarian gagal karena huruf b tidak muncul dalam rentang indeks dari 1 hingga 2 (not including 2).

7. 12. Klasifikasi karakter

Sering membantu untuk memeriksa karakter dan menguji apakah itu huruf besar atau kecil, atau apakah itu karakter atau angka. Modul string menyediakan beberapa konstanta yang berguna untuk tujuan ini. Salah satunya, string. digit , kita telah melihat.

String string. huruf kecil berisi semua huruf yang dianggap sistem sebagai huruf kecil. Demikian pula, string. huruf besar berisi semua huruf besar. Coba yang berikut ini dan lihat apa yang Anda dapatkan.

>>> fruit = "banana"
>>> len(fruit)
6
_4

Kita dapat menggunakan konstanta ini dan temukan untuk mengklasifikasikan karakter. Misalnya, jika find(lowercase, ch) mengembalikan nilai selain -1, then ch must be lowercase:

>>> fruit = "banana"
>>> len(fruit)
6
5

Atau, kita dapat memanfaatkan operator in .

>>> fruit = "banana"
>>> len(fruit)
6
6

Sebagai alternatif lain, kita bisa menggunakan operator pembanding

>>> fruit = "banana"
>>> len(fruit)
6
_7

Jika ch antara a dan z, harus berupa huruf kecil.

Konstanta lain yang ditentukan dalam modul string mungkin mengejutkan Anda saat Anda mencetaknya.

>>> fruit = "banana"
>>> len(fruit)
6
8

Karakter spasi putih menggerakkan kursor tanpa mencetak apa pun. Mereka menciptakan ruang putih di antara karakter yang terlihat (setidaknya di atas kertas putih). Konstanta string. whitespace berisi semua karakter spasi, termasuk spasi, tab ( \t ), dan baris baru ( \n).

Ada fungsi berguna lainnya dalam modul string , tetapi buku ini tidak dimaksudkan sebagai panduan referensi. Di sisi lain, Referensi Perpustakaan Python adalah. Bersama dengan banyak dokumentasi lainnya, ini tersedia dari situs web Python, http. // www. python. org.

7. 13. Pemformatan string

Cara paling ringkas dan ampuh untuk memformat string dengan Python adalah dengan menggunakan operator pemformatan string, % , bersama dengan pemformatan string Python . Untuk melihat cara kerjanya, mari kita mulai dengan beberapa contoh.

>>> fruit = "banana"
>>> len(fruit)
6
_9

Sintaks untuk operasi pemformatan string terlihat seperti ini

length = len(fruit)
last = fruit[length]       # ERROR!
_0

Ini dimulai dengan format yang berisi urutan karakter dan spesifikasi konversi. Spesifikasi konversi dimulai dengan operator % . Mengikuti string format adalah % tunggal dan kemudian urutan nilai, satu per spesifikasi konversi, dipisahkan dengan koma dan dilampirkan dalam tanda kurung. Tanda kurung bersifat opsional jika hanya ada satu nilai.

Dalam contoh pertama di atas, ada satu spesifikasi konversi, %s , yang mengindikasikan sebuah string. Nilai tunggal, "Arthur" , memetakannya, dan tidak diapit tanda kurung.

Dalam contoh kedua, nama memiliki nilai string, "Alice", and age has integer value, 10. These map to the two converstion specifications, %s dan %d . d dalam spesifikasi konversi kedua menunjukkan bahwa nilainya adalah bilangan bulat desimal.

Dalam contoh ketiga variabel n1 dan n2 memiliki . Ada empat spesifikasi konversi dalam format string. tiga 4 and 5 respectively. There are four converstion specifications in the format string: three %d dan %f . f menunjukkan bahwa nilai harus direpresentasikan sebagai angka floating point. Empat nilai yang dipetakan ke empat spesifikasi konversi adalah. 2**10 , n1 , , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . n2, and n1 * n2.

s , d , dan f are all the conversion types we will need for this book. To see a complete list, see the String Formatting Operations section of the Python Library Reference.

Contoh berikut mengilustrasikan utilitas sebenarnya dari pemformatan string

length = len(fruit)
last = fruit[length]       # ERROR!
_1

Program ini mencetak tabel berbagai pangkat angka dari 1 sampai 10. Dalam bentuknya saat ini, ini bergantung pada karakter tab ( \t ) untuk menyelaraskan kolom nilai, tetapi ini akan rusak saat nilai dalam tabel mendapatkan .

length = len(fruit)
last = fruit[length]       # ERROR!
_2

Salah satu solusi yang mungkin adalah mengubah lebar tab, tetapi kolom pertama sudah memiliki lebih banyak ruang daripada yang dibutuhkan. Solusi terbaik adalah mengatur lebar setiap kolom secara mandiri. Seperti yang mungkin sudah Anda duga sekarang, pemformatan string memberikan solusinya

length = len(fruit)
last = fruit[length]       # ERROR!
_3

Menjalankan versi ini menghasilkan keluaran berikut

length = len(fruit)
last = fruit[length]       # ERROR!
_4

- setelah setiap % dalam spesifikasi konversi . Nilai numerik menentukan panjang minimum, jadi %-13d adalah angka rata kiri dengan lebar minimal 13 karakter.

7. 14. Rangkuman dan Latihan Pertama

Bab ini memperkenalkan banyak ide baru. Rangkuman dan rangkaian latihan berikut mungkin terbukti membantu dalam mengingat apa yang telah Anda pelajari

pengindeksan ( [] )Mengakses satu karakter dalam string menggunakan posisinya (mulai dari 0). Contoh. 'Ini'[2] dievaluasi menjadi 'i' . panjang fungsi ( len )Mengembalikan jumlah karakter dalam string. Contoh. len('happy') dievaluasi menjadi 5 . untuk penjelajahan loop ( untuk )

Melintasi string berarti mengakses setiap karakter dalam string, satu per satu. Misalnya, untuk loop berikut

Bagaimana Anda mengubah huruf pertama menjadi huruf terakhir dengan Python?

Visualisasikan eksekusi kode Python. .
Gunakan daftar mengiris dan str. upper() untuk mengkapitalisasi huruf pertama dari string
Gunakan str. join() untuk menggabungkan huruf pertama yang dikapitalisasi dengan karakter lainnya
Abaikan parameter lower_rest untuk mempertahankan sisa string tetap utuh, atau setel ke True untuk mengonversi menjadi huruf kecil

Bagaimana Anda memindahkan karakter pertama ke akhir dengan Python?

Untuk memindahkan karakter pertama ke akhir string. .
Gunakan pemotongan string untuk mendapatkan karakter setelah yang pertama
Akses string pada indeks 0 untuk mendapatkan karakter pertama
Gunakan operator tambahan (+) untuk menggabungkan dua string

Bagaimana Anda memotong huruf pertama dari sebuah string dengan Python?

Menghapus Karakter Pertama . ] notasi digunakan untuk menghilangkan karakter pertama dari string The str[1:] notation is used to remove the first character from the string karena karakter pertama berada di indeks 0, jadi kita bisa memotongnya dengan memulai dari indeks 1.

Bagaimana Anda memangkas karakter pertama dan terakhir dengan Python?

Gunakan pemotongan string untuk menghapus karakter pertama dan terakhir dari sebuah string, mis. g. hasil = my_str[1. -1]. String baru akan berisi potongan string asli tanpa karakter pertama dan terakhir