Forezz

Перевод чисел

Dec 1st, 2019
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.29 KB | None | 0 0
  1. def iz_decytychny(ten_num, v):
  2.     vot_v_ety = ""
  3.     ten_num = int(ten_num)
  4.     print("\nПеревод из десятичной числа", ten_num,"\n------------------" )
  5.     while(ten_num >= v):
  6.         temp = ten_num
  7.         print(temp, "//", v, "=",temp // v, end = " ")
  8.         if ten_num % v < 10:
  9.             vot_v_ety += str(ten_num % v) #пишет остаток от деления
  10.             print("Остаток: ",ten_num % v)
  11.         else:
  12.             vot_v_ety += d[str(ten_num % v)]
  13.             print("Остаток: ",ten_num % v, "(буква:", d[str(ten_num % v)], ")")
  14.         ten_num =ten_num // v # делит число
  15.     print("И у нас осталось:", ten_num, "\n------------------")
  16.     vot_v_ety += str(ten_num)
  17.     return vot_v_ety[::-1]
  18.  
  19. def v_decytychny(num, a):
  20.     ten_number = 0
  21.     print("\nПеревод в десятичную числа", num, "\n------------------")
  22.     for i in range(len(num)):
  23.         try:
  24.             print((num[i]), "*",a,"^", int(len(num) - i - 1), end = " + ")
  25.             ten_number +=int(num[i]) * (a ** (int(len(num) - i - 1)))
  26.         except:
  27.             ten_number += int(b[num[i]]) * (a ** (int(len(num) - i - 1)))
  28.  
  29.     print("=", ten_number,"\n------------------")
  30.     return ten_number
  31.  
  32. d = { "10" : "A","11" : "B" , "12" : "C", "13" : "D" , "14" : "E" , "15" : "F"  }
  33. b = { "A" : "10","B" : "11" , "C" : "12", "D" : "13" , "E" : "14" , "F" : "15"  }
  34.  
  35. number = input("Введите число:")
  36. iz = int(input("Из какой оно системы?"))
  37. v = int(input("В какую собираемся переводить?"))
  38.  
  39. if iz > 16 or v > 16:
  40.     print("Сорри, я не поддерживаю такие системы. Могу только до 16-тиричной")
  41. elif iz < 2 or v < 2:
  42.     print("Дядя Петя, ты дурак? Таких систем даже не бывает")
  43. else:
  44.     if v == 10:
  45.         x = v_decytychny(number, iz)
  46.         print("Полученный результат:", x)
  47.     elif iz == 10:
  48.         d =  iz_decytychny(number, v)
  49.         print("Полученный результат:", d)
  50.     else:
  51.         x = v_decytychny(number, iz)
  52.         d =  iz_decytychny(x, v)
  53.         print("Полученный результат:", d)
Add Comment
Please, Sign In to add comment