-100'den 0'dan 10-100'e kadar bir sayı kümesini normalleştirmeye çalışıyordum ve sadece hiç değişken olmasa bile bunun beklediğim şekilde değerlendirilmediğini fark etmekte zorlanıyordum:
>>> (20-10) / (100-10)
0
Float bölümü de çalışmıyor:
>>> float((20-10) / (100-10))
0.0
Bölümün her iki tarafı da bir şamandıraya atılırsa, çalışacaktır:
>>> (20-10) / float((100-10))
0.1111111111111111
İlk örnekteki her bir taraf bir int olarak değerlendiriliyor, bu da son cevabın bir int'e dönüştürüleceği anlamına geliyor. 0.111, 0.5'ten küçük olduğu için 0'a yuvarlar. Bence şeffaf değil, ama sanırım böyle.
Açıklaması nedir?