BaşlayınÜcretsiz Başlayın

Sıfırdan bir sınıf yaz

Bir görselleştirme paketi yazan bir Python geliştiricisisin. Bir görselleştirmedeki herhangi bir öğe için konumunu söylemek, diğer öğelere olan uzaklığını hesaplamak ve yatay ya da dikey yansıtmayı kolayca uygulamak istiyorsun.

Her görselleştirmenin en temel öğesi tek bir noktadır. Bu egzersizde, düzlem üzerindeki bir nokta için sıfırdan bir sınıf yazacaksın.

Bu egzersiz

Python'da Nesne Yönelimli Programlama

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

Point sınıfını aşağıdaki özelliklerle tanımla:

  • İki öznitelik: x ve y - noktanın düzlemdeki koordinatları;
  • Bir kurucu (constructor) - x ve y olmak üzere iki argüman alır ve ilgili öznitelikleri başlatır. Bu argümanların varsayılan değeri 0.0 olmalıdır;
  • Bir distance_to_origin() yöntemi - noktanın orijine uzaklığını döndürür. Formül: \(\sqrt{x^2 + y^2}\).
  • Bir reflect() yöntemi - noktayı x veya y eksenine göre yansıtır:
    • bir axis argümanı alır,
    • axis="x" ise, y (yazım hatası değil!) özniteliğini y özniteliğinin negatifine ayarlar,
    • axis="y" ise, x özniteliğini x özniteliğinin negatifine ayarlar,
    • axis için diğer herhangi bir değer verilirse bir hata mesajı yazdırır. Bir noktanın y ve x eksenlerine göre yansıması

Not: sqrt() fonksiyonunu numpy ya da math paketinden kullanabilirsin; ancak hangi paketi seçersen seç, sınıf tanımına başlamadan önce onu içe aktarmayı unutma!


Çalışmanı kontrol etmek için, aşağıdaki kodu hatasız çalıştırabilmelisin:

pt = Point(x=3.0)
pt.reflect("y")
print((pt.x, pt.y))
pt.y = 4.0
print(pt.distance_to_origin())

ve şu çıktıyı almalısın

(-3.0,0.0)
5.0

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Write the class Point as outlined in the instructions
Kodu Düzenle ve Çalıştır