Python İle Sayıları Roma Rakamlarına Dönüştürme
-
dec2roman(7.515) şeklinde kullanılabilir, CNC için arayüze "egg" olsun eğlence olsun diye yazmıştım :), virgülden sonrası için normal roma rakamı algoritmasını kullandım.
roman = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']
decimal = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
def dec2roman(number):
romanvalue = ""
if type(number) == float:
integer,fractor = str(number).split('.')
integer = int(integer)
while len(fractor) > 3:
fra = list(fractor)
fra.pop()
fractor = "".join(fra)
fractor = int(fractor)
return dec2roman(integer)+'.'+dec2roman(fractor)
for i, d in enumerate(decimal):
while (number >= d):
number -= d
romanvalue += roman[i]
return romanvalue
-
hocu python bilmiyorum, olayın mantığını anlamak için baktım koddandan bi şey anlamadım python bilmediğimden sanırım.
sırasıyla 1000 e 500 e 100 e bölerekmi yapıyosun?
-
sırasıyla sayıdan roma rakamlarına denk gelen sayıları eksilterek yapıyor, eksilttiği sayıyı rakam olarak ekliyor,
-
ben pek pythondan çakmam ama php ile yazdım
<?php
$birler = Array(" ","I","II","III","IV","V","VI","VII","VIII","IX");//birler basamağına denk gelecek diziler
$onlar = Array(" ","X","XX","XXX","XL","L","LX","LXX","LXXX","XC");//onlar basamağına denk gelecek diziler
$gelen=$_GET['sayi'];//bu kısımda kendi yapmış olduğum html sayfanın içindeki textboxtan sayı geliyor
$y=0;//hesap yapacağım için değişkenleri sıfırlıyorum
$x=0;//burda da aynısı
if($gelen<0)//gelen sayının sıfırdan küçük olup olmadığını kontrol ediyorum
{
echo "eksi(-) değer giremezsiniz.";
}
else
{
if($gelen==0) {echo "sıfır yazdınız olmaz";}//bu kısımda gelen sayının sıfıra eşit olup olmadığını kontrol ediyorum
}
$y=$birler[$gelen%10];//burada sayıyı mod(10) olarak alıyorum
$x=$onlar[$gelen/10];//burada gelen sayıyı ona bölüp,bölüm kısmını alıyorum
echo $x . $y;//burda da yazdırıyorum
?>
-
erc bunu yazdı
ben pek pythondan çakmam ama php ile yazdım
99 dan sonrasi? :)
-
erc bunu yazdı
ben pek pythondan çakmam ama php ile yazdım
bende python kodlarını okurken, peeh phpde hemencecik kodlanır bu neymiş diyordum, benim gibi düşünen başka biri kodlamış bile :C
edit: haci mantigin yanlis yav.
anarsistherif tarafından 28/Eki/12 03:57 tarihinde düzenlenmiştir -
bir işi yapmanın birden fazla yolu vardır arkadaşım,99 meselesine gelince de örnek olsun benim yaptığım mantığı anlatmak için basit bir şey yaptım geliştirilebilir :)