Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.40 KB | None | 0 0
  1. def checksum():
  2.     original = input("\nPlease enter a checksum (only hex digits are accepted):\n")
  3.     encoded = ""
  4.     divide=[]
  5.     converted=[]
  6.     total_decimal=[]
  7.     error=""
  8.     for i in range(len(original)):
  9.         if original[i] in "0123456789abcdef":
  10.             encoded += original[i]
  11.         else:
  12.             error += "Invalid character detected"
  13.             return error
  14.  
  15.     while encoded:
  16.         divide.append(encoded[:4])
  17.         encoded = encoded[4:]
  18.  
  19.     if len(divide[-1])!=4:
  20.         error += "There is an irregular number of digits"
  21.         return error
  22.  
  23.     for i in range(len(divide)):
  24.         converted.append([])
  25.         for j in range(0, 4):
  26.              if(divide[i][j]=="a"):
  27.                 converted[i].append(10)
  28.              elif(divide[i][j]=="b"):
  29.                  converted[i].append(11)
  30.              elif(divide[i][j] == "c"):
  31.                  converted[i].append(12)
  32.              elif(divide[i][j] == "d"):
  33.                  converted[i].append(13)
  34.              elif(divide[i][j] == "e"):
  35.                  converted[i].append(14)
  36.              elif(divide[i][j] == "f"):
  37.                  converted[i].append(15)
  38.              else:
  39.                 converted[i].append(int(divide[i][j]))
  40.  
  41.     for i in range(len(converted)):
  42.         for j in range(0, 3):
  43.             total_decimal[i]+=converted[i][j]
  44.  
  45.  
  46.     return total_decimal
  47.  
  48. print(checksum())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement