Conversão de string para maiúscula sem métodos embutidos

Estou tentando executar a conversão de uma minúscula para maiúscula em uma seqüência de caracteres sem usar nenhuma função embutida (exceto ord () e char ()). Seguindo a lógica apresentada em um segmento diferente aqui, eu vim com isso.

def uppercase(str_data):
   ord('str_data')
   str_data = str_data -32
   chr('str_data')
   return str_data
print(uppercase('abcd'))

No entanto, estou recebendo uma saída de erro: TypeError: ord () esperava um caractere, mas foi encontrada uma string de comprimento 8.

questionAnswers(4)

yourAnswerToTheQuestion