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ırEgzersiz talimatları
Point sınıfını aşağıdaki özelliklerle tanımla:
- İki öznitelik:
xvey- noktanın düzlemdeki koordinatları; - Bir kurucu (constructor) -
xveyolmak üzere iki argüman alır ve ilgili öznitelikleri başlatır. Bu argümanların varsayılan değeri0.0olmalı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
axisargümanı alır, axis="x"ise,y(yazım hatası değil!) özniteliğiniyözniteliğinin negatifine ayarlar,axis="y"ise,xözniteliğinixözniteliğinin negatifine ayarlar,axisiçin diğer herhangi bir değer verilirse bir hata mesajı yazdırır.
- bir
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