Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Como alterar a valor de entrada staticmethod?

Como seria a sintaxe para alterar a string de entrada de uma pesquisa?

Tentei assim:

@staticmethod
    def codigos():
        codigos = codigos(''.upper)
        return {'BB':'001','Caixa':'104','Bradesco':'237'}
4 respostas

Olá Manuel, tudo bem com você?

Uma forma que podemos está transformando as chaves de um dicionário em maiúsculas, será criando um novo dicionário e percorremos as chaves aplicando o método .upper() a cada chave encontrada e salvarmos em um novo dicionário, como apresentado abaixo.

@staticmethod
def codigos():
    dicionario_original = {'BB': '001', 'Caixa': '104', 'Bradesco': '237'}
    dicionario_novo = {}
    for chave, valor in dicionario_original.items():
        dicionario_novo[chave.upper()] = valor
    return dicionario_novo

Devo lembrar que é um modo verboso para se fazer, caso você seja o responsável pela criação do dicionário, recomendo que as chaves sejam salvas já no padrão desejado.

Peço que teste o que foi proposto acima e se atende a proposta do seu projeto.

Lembre-se que pode contar sempre com o fórum Alura, seja para tirar suas dúvidas ou para compartilhar o seu desenvolvimento.

Fico à disposição.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Bom dia.

Desculpe, mas você errou meu nome.

Obrigado muito bom.

Agora como faço para mudar a entrada de busca das chaves?

Após criar um parâmetro e por exemplo digitar

codigo = Conta.codigos()
codigo['bb']

Meu código não vai encontrar nada em caixa baixa.

Gostaria que meu código também usasse a função upper() para as entradas de busca.

Boa tarde Claucio, beleza?

INseri um input para pessoa digitar o código da instituição e coloquei um upper lá, ai quando a pessoa digita ou maiuscula ou minuscula ele salva na váriavel "instituicao_bancaria" e converte pra maiuscula, em seguida printo o conteúdo do dicionario que tem a chave que digitou:

def codigos():
    dicionario_original = {'BB': '001', 'Caixa': '104', 'Bradesco': '237'}
    dicionario_novo = {}
    for chave, valor in dicionario_original.items():
        dicionario_novo[chave.upper()] = valor
    return dicionario_novo


codigo = codigos()
instituicao_bancaria = input("Digite a instituicao bancaria:").upper()
print(codigo[instituicao_bancaria])


#saida:
#Digite a instituicao bancaria:caixa
#104

#saida:
#Digite a instituicao bancaria:bb
#001

#saida:
#Digite a instituicao bancaria:braDesCo
#237

Dúvidas, me mantenho a disposição.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

solução!

Muito obrigo.

Não sei se estou correto, mas percebi com sua solução, que esse módulo trata do "back stage" do código e não de interações de entrada com usuário. Todo momento em que havia uma pesquisa nos estavamos acessando os objeto diretamente, atraves das funções do nosso código. Assim como o professor sempre citou a sintaxe para deixar explicito as funções privadas.

Foi uma falha minha.