2011-09-11 12 views
5

Sadece karışık bir sayıyı (sayı veya dizi olarak girilen) bir kayan nokta sayısına veya bir tam sayıya kolayca dönüştürebilir miyim diye merak ediyorum. Kesirler modülüne baktım ama istediğimi yapamayacağı gibi ya da iyi okumadım.Karma fraksiyonları kolayca bir şamandıraya dönüştürdüğüm bir Python modülü var mı?

Sadece kendi işlevlerimi yazmadan önce bir sorun olup olmadığını öğrenmek istedim. İşte Btw, arıyorum ne:

convert(1 1/2) 

veya

convert('1 1/2') 

teşekkürler.

cevap

9

Yerleşik Fraction sınıfı, sizinki gibi karışık kesirleri destekliyor görünmüyor, ancak bunları alan üzerinde bölmek çok zor olmaz. Örneğin, 1 + fractions.Fraction('1/2') veya

def convert(f): 
    whole, frac = f.split() 
    return int(whole) + fractions.Fraction(frac) 
+0

Teşekkürler efendim, evet, sadece ayrılabilir (''), bilmek istediğim tek şey bu, tekrar teşekkürler :) – arscariosus

0

çok basit ben sadece bunu yapmak için kesirler uzatmak için Mixed sınıf yazdı. Kaynak here.

>>> float(Mixed('6 7/8')) 
6.875 
>>> float(Mixed(1,1,2)) # 1 1/2 
1.5 
İlgili konular