07. Hello, World — Solusi pekerjaan rumah

Coba setiap soal sendiri dulu. Pekerjaan rumah ini tentang proses belajarnya, bukan sekadar jawabannya. Kalau sebuah soal tidak kunjung berhasil, baca bagian Cara memikirkannya dan coba lagi sebelum melihat solusi yang sudah dikerjakan.

File solusi .py ada di exercises/07/homework/solutions/. Penjelasan di bawah menjelaskan mengapa setiap solusi terlihat seperti itu.

Soal 1 — Sapa dirimu sendiri

Soal. Cetak sebuah sapaan, nama depanmu, dan game favoritmu dalam tiga baris terpisah.

Cara memikirkannya. print menulis satu baris per panggilan. Tiga baris berarti tiga panggilan print; urutan panggilan adalah urutan baris di layar.

Solusi yang dikerjakan.

print("Hello there!")
print("Keiko")
print("Roblox")

Saat dijalankan, terminal mencetak:

Hello there!
Keiko
Roblox

Kesalahan umum.

  • Menaruh ketiga hal dalam satu panggilan print yang dipisahkan dengan koma. Itu berhasil, tapi semuanya masuk ke satu baris dengan spasi di antara, bukan tiga baris.
  • Lupa tanda kutip. print(Hello there!) adalah error: tanpa tanda kutip, Python membaca Hello sebagai nama variable, bukan teks.

Soal 2 — Cetak sebuah kutipan

Soal. Cetak kutipan di baris pertama dan pengarang di baris kedua.

Cara memikirkannya. Dua panggilan print. Yang pertama mencetak kutipan (dengan tanda kutip gandanya sebagai bagian dari teks); yang kedua mencetak pengarang dengan tanda strip di depan.

Satu hal yang perlu diperhatikan: kutipannya sendiri mengandung tanda kutip ganda ("). Kalau kamu juga membungkus seluruh string dengan tanda kutip ganda, Python akan kehilangan jejak di mana string berakhir. Dua cara keluarnya:

  1. Bungkus string luar dengan tanda kutip tunggal: '"kutipan di sini"'.
  2. Tetap gunakan tanda kutip ganda di luar dan gunakan \" (backslash sebelum tanda kutip dalam) agar Python tahu tanda kutip itu adalah bagian dari teks.

Pilihan pertama lebih sederhana. Gunakan itu.

Solusi yang dikerjakan.

print('"The best way to predict the future is to invent it."')
print("                                            - Alan Kay")

Spasi di depan pada print kedua mendorong pengarang ke dekat sisi kanan kutipan.

Kesalahan umum.

  • Menulis print(""The best way...""). "" pertama adalah string kosong, kemudian The dibaca sebagai nama variable, dan Python mengeluh.
  • Menggunakan smart quotes (" ") bukan tanda kutip lurus ("). Program pengolah kata memasukkan ini; editor kode tidak. VS Code aman, tapi periksa ulang teks yang disalin dari website.

Soal 3 — Perbaiki error-nya

Soal. File starter punya lebih dari satu kesalahan. Buat bisa dijalankan dan mencetak All good now.

Cara memikirkannya. Jalankan file. Baca error pertama. Perbaiki tepat apa yang disebutkan. Jalankan lagi, baca error berikutnya, dan ulangi sampai file berjalan.

Jangan coba menemukan semua kesalahan dengan mata dulu. Error adalah petunjuk gratis.

Solusi yang dikerjakan. File starter terlihat seperti ini:

Print("Halfway there)
prnt('All good now.'

Ada empat masalah:

  1. Print seharusnya print (Python sensitif huruf besar-kecil).
  2. String pertama kehilangan penutup ".
  3. prnt bukan function yang nyata. Barisnya harus memanggil print.
  4. Baris terakhir kehilangan penutup ).

Versi yang berfungsi:

print("Halfway there")
print("All good now.")

(Pertahankan kedua baris print atau hapus yang pertama. Selama file berjalan dan baris output terakhir adalah All good now., itu sudah benar.)

Kesalahan umum.

  • Memperbaiki baris pertama tapi tidak menjalankan lagi sebelum memeriksa yang kedua. Error kedua kadang adalah efek samping dari yang pertama, jadi menjalankan setiap kali membuat umpan balik tetap ketat.
  • Memperbaiki prnt dengan menciptakan function lain. Python hanya mengenal nama-nama yang dikenalnya. Kalau ragu, ketik nama pelan-pelan dan periksa terhadap buku.

Tantangan — Cerita tiga baris

Soal. Tulis cerita mikro tiga baris (pembuka, masalah, penyelesaian) dengan blok baris comment # di bagian atas yang menjelaskan ceritanya.

Cara memikirkannya. Dua bahan yang sudah kamu tahu: baris # untuk comment dan print untuk output. Sketsa ceritanya dulu dalam bahasa biasa, lalu ubah setiap baris menjadi panggilan print.

Solusi yang dikerjakan.

# A small story about a player who finds a chest in a cave,
# realises it is locked, and figures out how to open it.

print("A lone player walked into the cave and saw a chest.")
print("The chest was locked, and the key was nowhere in sight.")
print("She remembered the riddle on the wall and spoke the password.")

Kesalahan umum.

  • Lupa # pada baris comment. Maka Python mencoba menjalankannya sebagai kode dan melaporkan error.
  • Menaruh comment di tengah baris kode tanpa #. Semua yang ada setelah # pada sebuah baris adalah comment; tanpa #, itu adalah kode.

Selesai?

Kalau setiap soal berjalan dengan bersih, kamu sudah menyelesaikan bab pertamamu. Tiga bab berikutnya melengkapi dasar-dasar terminal: comment untuk meninggalkan catatan, toolkit print untuk menampilkan hal-hal persis seperti yang kamu inginkan, dan membaca pesan error untuk saat ada yang salah.