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
printyang 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 membacaHellosebagai 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:
- Bungkus string luar dengan tanda kutip tunggal:
'"kutipan di sini"'. - 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, kemudianThedibaca 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:
Printseharusnyaprint(Python sensitif huruf besar-kecil).- String pertama kehilangan penutup
". prntbukan function yang nyata. Barisnya harus memanggilprint.- 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
prntdengan 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.