MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

Definisikan class Point yang memiliki:

  • Dua atribut, x dan y - koordinat titik pada bidang;
  • Sebuah konstruktor yang menerima dua argumen, x dan y, yang menginisialisasi atribut terkait. Argumen ini harus memiliki nilai bawaan 0.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 atribut y (bukan salah ketik!) ke nilai negatif dari atribut y,
    • jika axis="y", menetapkan atribut x ke nilai negatif dari atribut x,
    • untuk nilai axis lainnya, mencetak pesan galat. Reflection of a point with respect to y and x axes

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
Edit dan Jalankan Kode