14. Bekerja dengan teks — Solusi pekerjaan rumah

File solusi .py ada di exercises/14/homework/solutions/.

Soal 1 — Inisial

Soal. Cetak inisial seperti K.R. dari nama depan dan belakang.

Cara berpikir. Huruf pertama sebuah nama adalah name[0] (indeks nol, karena Python berbasis 0). Gabungkan dengan f-string dan titik.

Solusi yang dikerjakan.

first = "Keiko"
last = "Raharja"

print(f"{first[0]}.{last[0]}.")

Output:

K.R.

Kesalahan umum.

  • Menggunakan first[1] alih-alih first[0]. Indeks 1 adalah karakter kedua. Karakter pertama selalu berada di indeks 0.
  • Menggunakan first[0:1] (slice) alih-alih first[0] (satu karakter). Keduanya menghasilkan hasil yang sama, tapi first[0] lebih sederhana.

Soal 2 — Mengandung

Soal. Cetak yes atau no untuk apakah sebuah kalimat mengandung python.

Cara berpikir. Operator in mengembalikan True ketika substring ditemukan, yang langsung berpasangan dengan if.

Solusi yang dikerjakan.

sentence = "i am learning python this year"

if "python" in sentence:
    print("yes")
else:
    print("no")

Kesalahan umum.

  • Menggunakan .find() dan memeriksa != -1. Itu bekerja, tapi in lebih jelas ketika kamu hanya perlu tahu apakah kata itu ada.

Soal 3 — Sensor

Soal. Ganti setiap spasi dengan tanda hubung.

Solusi yang dikerjakan.

message = "meet me at noon"
dashed = message.replace(" ", "-")
print(dashed)   # meet-me-at-noon

.replace() Python hanya mengembalikan string baru, bukan nilai hitungan kedua. Tidak perlu langkah ekstra untuk menyimpan hanya stringnya.

Kesalahan umum.

  • Mengharapkan .replace() mengubah message secara langsung. Method string di Python tidak pernah mengubah yang asli; mereka selalu mengembalikan string baru. Simpan hasilnya di variable untuk menggunakannya.

Tantangan — Panjang kata terakhir

Soal. Cetak tiga karakter terakhir dengan slice negatif, dan panjangnya dengan len().

Solusi yang dikerjakan.

word = "programming"

print(word[-3:])   # ing
print(len(word))   # 11

Karena -3 menghitung dari akhir, word[-3:] memberikan tiga huruf terakhir dari kata apapun — tidak perlu menghitung.

Kesalahan umum.

  • Menulis word[-3] alih-alih word[-3:]. Indeks tunggal mengembalikan satu karakter; slice dengan : mengembalikan substring dengan panjang yang ditentukan.
  • word[len(word) - 3:] juga bekerja, tapi word[-3:] lebih pendek dan lebih jelas: "tiga dari akhir".

Selesai?

Kamu sekarang bisa memotong, mencari, dan mengganti teks. Bab terakhir Bagian 3 — Mendapatkan input — memungkinkan pengguna mengetikkan nilai, yang datang sebagai string untuk dipotong dan diperiksa.