def virgül_tanıma(sayı): """ >>> virgül_tanıma(1) 1 >>> virgül_tanıma(1.0) 1 >>> virgül_tanıma(1.1) 1.1 >>> virgül_tanıma(1.123456789) 1.12 >>> type(virgül_tanıma(1.123456789))>>> virgül_tanıma(1.02) 1.02 >>> virgül_tanıma(1.00) 1 """ try: tanı = str(sayı).split(".")#sayımızı karakter dizisine # dönüştürüp split vasıtasıyla noktadan bölüyoruz. # bildiğiniz üzere split sadece karakter dizileri üzerinde #işlem yapabiliyor. sonrada tanı adlı değişkene atıyoruz. #tanı adlı değiken iki elemalı (ki ikiside karakter dizisi) #bir liste döndürüyor. if tanı[1] == "0": #tanının virgülden sonraki kısmının sıfır #olup olmadığına bakıyoruz . eğer sıfır'sa (0) virgülsüz # bir sayı döndürüyoruz. tanı adlı değişkenimiz #bir karakter dizisi (str) olduğu için sıfır'ı ("0") da karakter #dizisine dönüştürüyoruz. return round(sayı) else: # sayımızın virgülden sonrası sıfır değilse işler return round(sayı, 2) #sayının fazlalık kısmını #bu şekilde kırpmış oluruz. fazla virgüllü sayılar #özellikle son kullanıcı için pek te iştah kabartıcı #bulunmayabilir. ayrıca para birimlerinde de (kuruş, #cent gibi) genelde (virgülden sonra ki kısım kırık #(demirlikler) para birimlerini temsil eder) iki birimden # oluşur ben süt # hesaplayıcı için tasarladığım için virgülden sonra #iki birimin gösterilmesini tercih ettim tabi bu sizin #tercihinize kalmış. except IndexError: #eğer sayımız kayan noktalı bir #sayı değilde bir tam sayı ise modülümüzün çökmesini #önleyip aynı sayıyı döndürüyoruz. return sayı
25 Şubat 2015 Çarşamba
virgüllü sayı tanıma
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder