Advertisement
PaweU

Kalkulator systemowy

Nov 2nd, 2018
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.40 KB | None | 0 0
  1. print ("Kalkulator Full Wypas\n")
  2.  
  3. from sys import exit
  4.  
  5. WARTOSCI = (
  6.     ('A', 'a', 10),
  7.     ("B", "b", 11),
  8.     ("C", "c", 12),
  9.     ("D", "d", 13),
  10.     ("E", "e", 14),
  11.     ("F", "f", 15),
  12.     )
  13.  
  14. def z_dziesietnego ( liczba, a):
  15.  
  16.   tablica = []
  17.   wynik = 0
  18.  
  19.   while (liczba > 0):
  20.     x = liczba % a
  21.  
  22.     if (x<10):
  23.       tablica.append (x)
  24.  
  25.     else:
  26.       for duza, mala, dwucyfr in WARTOSCI:
  27.         if (x == dwucyfr):
  28.           tablica.append (duza)
  29.           break
  30.  
  31.     liczba = int ( liczba / a)
  32.  
  33.   tablica.reverse()
  34.  
  35.   return tablica
  36.  
  37. def na_dziesietny (liczba, a):
  38.  
  39.   wynik = 0
  40.   zmieniona = []
  41.  
  42.   for i in range (len(liczba)):
  43.  
  44.     if liczba[i].isdigit():
  45.       zmieniona.append (int (liczba[i]))
  46.  
  47.     else:
  48.       for duza, mala, dwucyfr in WARTOSCI:
  49.         if (liczba[i] == duza or liczba[i] == mala):
  50.           zmieniona.append (dwucyfr)
  51.           break
  52.  
  53.     if zmieniona[i]>=a:
  54.       print ("\nTej liczby nie mona przekonwertowac na podany system.")
  55.       exit()
  56.    
  57.     wynik = (wynik * a) + zmieniona [i]
  58.  
  59.   return wynik
  60.  
  61.  
  62. a = int (input ("Wprowadz system wyjsciowy (2-16):"))
  63. liczba = input ("Wprowadz liczbe w podanym systemie:")
  64. b = int (input ("Wprowadz system wyjsciowy (2-16):"))
  65.  
  66. wynik1 = na_dziesietny (liczba, a)
  67. wynik2 = z_dziesietnego (wynik1, b)
  68.  
  69. print ("\nTa liczba w systemie",b,"to ", end="")
  70.  
  71. for x in wynik2:
  72.   print (x, end="")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement