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ğe yeni arazi ek genişletmelerini hesaplayın.
Köprünün karşısında, ilave yapılan ek bina, çiftliğin iki farklı bölümünü birleştiren entegre edilmemiş arazileri ölçmek için kullanılan bazı ofislere sahiptir. Burada bazı arazi boyutları ve ölçümler bulunacak, bunları sıralayıp verileri belgelemek iyi bir fikir olacaktır. Bunu math modülünü kullanarak gerçekleştirebilirsiniz; bu seviyede, verileri işlemek için kullanabileceğimiz yeni fonksiyon seti ile tanışacağız. Bu seti kullanmak için aynı import math ve fonksiyonları kullanmadan önce math. yazmayı unutmayın:
math.radians(): Dereceleri radyanlara / açılara çevirir.math.floor(): Sayıyı aşağı doğru en yakın tam sayıya yuvarlar.math.ceil(): Sayıyı yukarı doğru bir üst tam sayıya yuvarlar.math.atan2(): İki sayı arasındaki ark tanjantı radyan cinsinden döndürürmath.isclose(): İki sayının birbirine yakın olup olmadığını kontrol eder, true/false dönermath.fsum(): Bir listedeki veya yinelenebilir yapıdaki ondalık (float) sayıları toplar.math.dist(): İki nokta arasındaki mesafeyi kontrol eder, değerlerin listeler veya yinelenebilir yapılar olması gerekir.
Verileri toplamak için çizelgelerde bulunan ham verileri toplamak amacıyla, kırmızı ve mavi halı üzerindeki ışıklı X işaretine doğru yürüyün. Ölçüm yapılması gereken ham boyutları belirlemek için read() fonksiyonunu kullanın. Bu ölçümler, red_x, red_y, blue_x ve blue_y adında dört sabit değişkende zaten saklanmıştır.
Her iki veri seti de belirlendikten sonra, turuncu halı üzerindeki koyu X işaretine yürüyün ve masaya doğru bakın. blue_x ve blue_y değişkenlerini radyan cinsine çevirmek ve yukarı yuvarlamak için math.radians() ve math.ceil() fonksiyonlarını kullanın. Sabitlerin düzenlenebilir ondalık sayılar olduğundan emin olmak için float() kullanın. Örneğin, blue_x değişkeni için: radyan cinsine çevirin blue_x = math.radians(float(blue_x)) ve değeri yukarı yuvarlayın blue_x = math.ceil(float(blue_x)). Bu X işaretinde blue_y için de aynı işlemi yapın, işlemi tamamladıktan sonra önceden yazılmış write() fonksiyonunu kullanarak blue_x ve blue_y değişkenlerini çizelgelemek üzere ekleyin.
Yeşil halı üzerindeki koyu X işaretine yürüyün ve red_x ve red_y değişkenlerini radyan cinsine çevirmek ve aşağı yuvarlamak için math.radians() ve math.floor() fonksiyonlarını kullanın. Örneğin, red_x değişkeni için: radyan cinsine çevirin red_x = math.radians(red_x) ve değeri aşağı yuvarlayın blue_x = math.floor(red_x). Bu X işaretinde red_y için de aynı işlemi yapın, işlemi tamamladıktan sonra önceden yazılmış write() fonksiyonunu kullanarak red_x ve red_y değişkenlerini çizelgelemek üzere ekleyin.
Altın X işaretine yürüyün ve masaya doğru bakın, burada data_a ve data_b adında iki yeni değişken oluşturacağız. Burada her setin ark tanjantlarını math.atan2 fonksiyonunu kullanarak saklayacağız. data_a için, fonksiyonu doldurmak üzere blue_x ve blue_y değişkenlerini kullanın, örneğin: data_a = math.atan2(blue_x,blue_y). data_b için de aynı işlemi red_x ve red_y ile yapın. İşlemi tamamladıktan sonra, önceden yazılmış write() fonksiyonu ile data_a ve data_b değişkenlerini çizelgelemek üzere ekleyin.
Artık alt masalar tamamlandığına göre, mor halı üzerindeki koyu X işaretine yürüyün, comparison adında bir değişken oluşturun ve bunu math.isclose() fonksiyonu ile data_a ve data_b argümanları kullanarak şöyle kullanın: comparison = math.isclose(data_a, data_b). Bu X işaretinde önceden yazılmış write() fonksiyonu ile comparison değişkenini kullanın.
Beyaz halı üzerindeki X işaretine geçin, data_list adında bir liste oluşturun ve sırayla data_a ve data_b ekleyin. total adında bir değişken oluşturun ve bunu data_list argümanı ile math.fsum() fonksiyonunu kullanarak şu şekilde ayarlayın: total = math.fsum(data_list). Bu X işaretinde önceden yazılmış write() fonksiyonu ile total değişkenini kullanın.
Sarı halı üzerindeki koyu X işaretine yürüyün ve masaya doğru bakı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]. math.dist() fonksiyonu ile kullanmak üzere her iki değişkeni de yinelenebilir yapılara dönüştürmek için data_b için de aynı işlemi yapın. distance adında bir değişken oluşturun ve bununla math.dist() fonksiyonun döndürdüğü değeri saklayın, argüman olarak data_a ve data_b kullanın. Seviyeyi tamamlamak için önceden yazılmış write() fonksiyonu ile distance değişkenini kullanın.