def generate(key, problems=4, variants=4):
r = 0
for i in range(len(key)):
r += ord(key[i])
result = []
for j in range(problems):
result.append(chr(ord('A') + j) + str(r % variants + 1))
r //= variants
return result
generate("Зобнин Алексей Игоревич")
['A1', 'B1', 'C2', 'D3']