Gelişmiş Python Geliştirme Kursu
Bölüm
>
Seviye

Matematik Modülleri
Genişletilmiş Matematik Modülü

Amaç

Math modülünden içe aktarılan daha fazla fonksiyon kullanılarak çiftliğin yeni arazi genişliklerini hesaplayın.

Köprünün ötesindeki ek bina, çiftliğin iki farklı parçasını birleştiren mülkiyetsiz arazileri ölçmek için kullanılan bazı ofislere sahiptir. Burada bazı arazi boyutlarını ve ölçümlerini bulacağız; bunları sıralamak ve verileri belgelemek iyi bir fikir olacaktır. Bunu math modülünü kullanarak yapabilirsiniz, bu seviyede verileri işlemek için kullanabileceğimiz yeni bir fonksiyon setiyle tanışacağız. Bu seti kullanmak için aynı import math komutunu ve fonksiyonların öncesinde math. ifadesini kullanıyorsunuz:

  • math.radians(): Dereceyi radyana / açılara dönüştürür.
  • math.floor(): Sayıyı tamsayıya aşağı yuvarlar.
  • math.ceil(): Sayıyı bir üst tamsayıya yukarı yuvarlar.
  • math.atan2(): İki sayı arasındaki ark tanjantı radyan cinsinden döndürür.
  • math.isclose(): İki sayının birbirine yakın olup olmadığını kontrol eder, true/false döndürür.
  • math.fsum(): Bir liste veya yineleyici içerisindeki ondalık (float) sayıları toplar.
  • math.dist(): İki nokta arasındaki mesafeyi hesaplar, değerler liste veya yineleyici olmalıdır.

Işık işaretleriyle belirtilen, kırmızı ve mavi halının üzerindeki X işaretlerindeki çizelgelerden çiğ verileri toplamaya başlamak için yürüyün. Ölçümleri almak için gerekli ham boyutları belirlemek üzere read() fonksiyonunu kullanın. Bu ölçümler, red_x, red_y, blue_x ve blue_y adlı dört değişken sabitinde zaten saklanmıştır.

Her iki veri seti belirlendikten sonra, turuncu halının üzerindeki koyu X işaretine gidin ve masaya doğru yüzün. math.radians() ve math.ceil() kullanarak blue_x ve blue_y değişkenlerini radyana çevirin ve yukarı yuvarlayın. Sabitlerin düzenlenebilmesi için float() kullanarak ondalık sayıya dönüştürüldüğünden emin olun. Örneğin, blue_x değişkeni için: radyana çevirmek blue_x = math.radians(float(blue_x)) ve yukarı yuvarlamak blue_x = math.ceil(float(blue_x)) şeklinde. Aynısını bu X işaretinde blue_y için de yapın; tamamlandığında önceden yazılmış write() fonksiyonunu kullanarak blue_x ve blue_y değişkenlerini kaydedin.

Yeşil halının üzerindeki koyu X işaretine gidin ve math.radians() ile math.floor() kullanarak red_x ve red_y değişkenlerini radyana çevirin ve aşağı yuvarlayın. Örneğin, red_x değişkeni için: radyana çevirmek red_x = math.radians(red_x) ve aşağı yuvarlamak red_x = math.floor(red_x) şeklinde. Bu X işaretinde red_y için de aynı işlemi yapın; tamamlandığında önceden yazılmış write() fonksiyonunu kullanarak red_x ve red_y değişkenlerini kaydedin.

Altın X işaretine gidin ve masaya doğru yüzün, burada iki yeni değişken oluşturacağız: data_a ve data_b. Burada her veri setinin ark tanjantlarını math.atan2 fonksiyonunu kullanarak saklayacağız. data_a için, blue_x ve blue_y değişkenlerini kullanarak fonksiyonu şu şekilde doldurun: data_a = math.atan2(blue_x,blue_y). data_b için de aynı işlemi red_x ve red_y ile yapın. Tamamlandığında, önceden yazılmış write() fonksiyonunu kullanarak data_a ve data_b değişkenlerini kaydedin.

Alt masalar tamamlandığında, mor halının üzerindeki koyu X işaretine gidin, comparison adlı bir değişken oluşturun ve math.isclose() fonksiyonunu data_a ve data_b argümanları ile şu şekilde kullanın: comparison = math.isclose(data_a, data_b). Bu X işaretinde önceden yazılmış write() fonksiyonunu comparison değişkeni ile kullanın.

Beyaz halının üzerindeki X işaretine gidin, data_list adlı bir liste oluşturun ve data_a ile data_b değişkenlerini bu sırayla ekleyin. total adlı bir değişken oluşturun ve data_list argümanıyla math.fsum() fonksiyonunu şu şekilde kullanın: total = math.fsum(data_list). Bu X işaretinde önceden yazılmış write() fonksiyonunu kullanarak total değişkenini aktarın.

Sarı halının üzerindeki koyu X işaretine gidin ve masaya dönün, data_a ve data_b değişkenlerini ayrı liste değerlerine dönüştürün, örneğin data_a için: data_a = [data_a]. data_b için de aynı işlemi yaparak her iki değişkenin de math.dist() fonksiyonu ile kullanılabilecek tekrarlanabilir yapılar haline gelmesini sağlayın. distance adlı bir değişken oluşturun ve data_a ile data_b argümanlarını kullanarak math.dist() fonksiyonunun döndürdüğü değeri saklayın. Seviyeyi tamamlamak için bu X işaretinde önceden yazılmış write() fonksiyonunu kullanarak distance değişkenini aktarın.

Kod Kitabı