Minha solução para o problema apresentado:
def limpar_texto(texto):
'''Função responsável por substituir o % por nada, caso o usário tenha digitado'''
caracteres = '%'
for char in caracteres:
texto = texto.replace(char, '') # Substitui o char por '', como se estivesse apagando do sistema
return texto
def valor_total(conta, gorjeta):
'''Função responsável por calcular o total da conta'''
total = conta + gorjeta
return total
print('==== GRILL NOTA MIL ====\n')
try:
conta = float(input('Digite o valor da conta: '))
gorjeta_digitada = input('Digite a porcentagem da gorjeta: ')
gorjeta_limpa = limpar_texto(gorjeta_digitada)
gorjeta_calculada = float(gorjeta_limpa) / 100
gorjeta = conta * gorjeta_calculada
print()
print(f'Valor da gorjeta: R${gorjeta:.2f}\nTotal a pagar: R${valor_total(conta, gorjeta):.2f}')
except ValueError:
print('Números inválidos!')