simbax

liczby_rzymskie2.py

Dec 28th, 2012
6,448
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.97 KB | None | 0 0
  1. # coding=utf-8
  2. # Program zamieni liczbę w systemie rzymskim na liczbę w systemie dziesiętnym
  3. rzym = { "M": 1000, "CM": 900, "D": 500, "CD": 400,
  4.          "C": 100, "XC": 90, "L": 50, "XL": 40, "X": 10, "IX": 9, "V": 5,
  5.          "IV": 4, "I": 1 }
  6.  
  7. x = raw_input("Podaj liczbę rzymską: ")
  8. x = x.upper()
  9.  
  10. print "Liczba",x,"w systemie dziesiętnym to:",
  11.  
  12. # 1. Szukamy wyjątków.
  13. rkeys = rzym.keys()
  14. rvals = rzym.values()
  15. wyjatki = {}
  16. for nr, i in enumerate(rkeys):
  17.         if len(i) > 1:
  18.         wyjatki[rkeys[nr]] = rvals[nr]
  19.         del rzym[rkeys[nr]]
  20. # 2. Dodajemy do siebie wartość wyjątków
  21. a = 0
  22. rkeys = wyjatki.keys()
  23. rvals = wyjatki.values()
  24. for nr, i in enumerate(rkeys):
  25.     if i in x:
  26.         for j in range(0, x.count(i)):
  27.             a += rvals[nr]
  28.         x = x.replace(i, '')
  29. # 3. Dodajemy do siebie reszte
  30. rkeys = rzym.keys()
  31. rvals = rzym.values()
  32. for nr, i in enumerate(rkeys):
  33.     if i in x:
  34.         for j in range(0, x.count(i)):
  35.             a += rvals[nr]
  36.         x = x.replace(i, '')
  37.  
  38. print a
Advertisement
Add Comment
Please, Sign In to add comment