Python Devreden Sayilarla İlgili Sorun
-
http://paste.ubuntu.com/26014903/
Hocalar bu kodda ufak bir hata var 1/6 atin yapinca 0.16666667 sonucunu vermesini istiyorum ama devreden sayi oldugu icin 0.16666666 diye giden bir sonuc veriyor kisaca noktadan sonraki 9 basamagi alip sonrasi icin yuvarlamasini istiyorum
1/2 + 1/3 + 1/6 isleminin sonucu 1 olmasi lazim ama devreden sayiyi hic yuvarlamadigi icin 0.999999 diye bir cikti veriyor
-
@0x656e
-
https://gist.github.com/sonerb/d8e7be453dfbd6a743ec51f18cb0195d
-
Yanlış düşünüyor olabilirsin...
Pytonda sayı sınıfları nasıl tanımlanıyor bilmiyorum..
Öyle birşey yok ise kesirin üstü ve alt taraflarıyla elle kesir toplarmış gibi işlem yapan bir kod yaz garanti olsun
-
eval'in ne olduğunu tam olarak anlamadan kullanmaktan kaçın, güvenlik riski
sonucu ondalık istiyorsan işlem yapmadan önce float(x) / float(y) dönüşümünü alışkanlık haline getir
(veya decimal ile ondalık basamak sayısını kendin belirleyebilirsin)
yuvarlamak senin elinde, round(x, N) kullan N=basamak sayısı olacak şekilde
yuvarlamaya gerek olmadan if 0.99 <= toplam <= 1.0 gibi bir seçenek de mevcut
-
YekteranBaymedir bunu yazdı
eval'in ne olduğunu tam olarak anlamadan kullanmaktan kaçın, güvenlik riski
sonucu ondalık istiyorsan işlem yapmadan önce float(x) / float(y) dönüşümünü alışkanlık haline getir
(veya decimal ile ondalık basamak sayısını kendin belirleyebilirsin)
yuvarlamak senin elinde, round(x, N) kullan N=basamak sayısı olacak şekilde
yuvarlamaya gerek olmadan if 0.99 <= toplam <= 1.0 gibi bir seçenek de mevcut
ve @pSkpt hocam çok sağolun
-
from __future__ import division dene