Tulis sebuah class dari nol
Anda adalah pengembang Python yang menulis sebuah paket visualisasi. Untuk setiap elemen dalam sebuah visualisasi, Anda ingin dapat mengetahui posisi elemen, seberapa jauh jaraknya dari elemen lain, dan dengan mudah menerapkan pembalikan horizontal atau vertikal.
Elemen paling dasar dari visualisasi apa pun adalah sebuah titik. Pada latihan ini, Anda akan menulis sebuah class untuk sebuah titik pada bidang dari nol.
Latihan ini adalah bagian dari kursus
Pemrograman Berorientasi Objek di Python
Petunjuk latihan
Definisikan class Point yang memiliki:
- Dua atribut,
xdany- koordinat titik pada bidang; - Sebuah konstruktor yang menerima dua argumen,
xdany, yang menginisialisasi atribut terkait. Argumen ini harus memiliki nilai bawaan0.0; - Sebuah method
distance_to_origin()yang mengembalikan jarak dari titik ke titik asal. Rumusnya adalah \(\sqrt{x^2 + y^2}\). - Sebuah method
reflect(), yang memantulkan titik terhadap sumbu x atau y:- menerima satu argumen
axis, - jika
axis="x", menetapkan atributy(bukan salah ketik!) ke nilai negatif dari atributy, - jika
axis="y", menetapkan atributxke nilai negatif dari atributx, - untuk nilai
axislainnya, mencetak pesan galat.
- menerima satu argumen
Catatan: Anda dapat memilih untuk menggunakan fungsi sqrt() dari paket numpy atau math, tetapi paket mana pun yang Anda pilih, jangan lupa untuk mengimpornya sebelum memulai definisi class!
Untuk memeriksa pekerjaan Anda, Anda harus dapat menjalankan kode berikut tanpa galat:
pt = Point(x=3.0)
pt.reflect("y")
print((pt.x, pt.y))
pt.y = 4.0
print(pt.distance_to_origin())
dan mengembalikan keluaran
(-3.0,0.0)
5.0
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Write the class Point as outlined in the instructions