Foto de Samantha R.
Samantha há 2 anos
Enviada pelo
Site

Codigo de cores resistor python

A codificação de resistores com cores é usada para classificar estes componentes. A ideia é simples e definida por um padrão internacional: há um mapeamento de cores para valores específicos, portanto o valor da resistência pode ser traduzido em uma sequência de cores sendo que as 2 ou 3 primeiras cores determinam o valor da resistência, a seguinte determina a ordem de grandeza e a última determina a tolerância. Por exemplo, um resistor de 2260Ω e 1% de tolerância tem 5 faixas de cor: vermelha (2), vermelha (2), azul (6), marrom (x10) e marrom (±1%).

Defina a função IEC60062 que recebe um string determinando o valor da resistência e retorna a sequência de cores a ser impressa sobre o resistor, como um list. O valor é dadono formato "FM T", onde FF é um número real com até 2 casas de precisão, MM é o múltiplo de grandeza da unidade de medida ohm (Ω) e TT é o valor da tolerância (real). Note que há uma lacuna (espaço) entre MM e TT.

Python Geral funções Função dicionário
3 respostas
Professor Kelvin P.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 2 anos
Contatar Kelvin

Como você quer as entradas do sistema, poderia me dar um exemplo de saída do código?

 

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Tutoria com IA
Converse com a Minerva IA e aprenda, tire dúvidas e resolva exercícios
Professor Vitor D.
Respondeu há 2 anos
Contatar Vitor

Segue abaixo uma possível implementação da função IEC60062 em Python:

def IEC60062(resistor_value):
    # Dicionário de cores e seus respectivos valores
    colors = {
        'preto': 0,
        'marrom': 1,
        'vermelho': 2,
        'laranja': 3,
        'amarelo': 4,
        'verde': 5,
        'azul': 6,
        'violeta': 7,
        'cinza': 8,
        'branco': 9
    }
    
    # Extrai os valores do string
    value, multiplier, tolerance = resistor_value.split()
    
    # Converte o valor para ohms
    value = float(value) * 10 ** colors[multiplier]
    
    # Calcula as cores correspondentes às duas primeiras faixas
    first_color = colors[str(int(value // 10 ** 2))]
    second_color = colors[str(int(value % 10 ** 2 // 10 ** 1))]
    
    # Calcula a cor correspondente à terceira faixa
    if value >= 10 ** 6:
        third_color = colors['megaohm']
    elif value >= 10 ** 3:
        third_color = colors['kiloohm']
    else:
        third_color = colors['ohm']
    
    # Calcula a cor correspondente à quarta faixa
    tolerance_color = {
        1: 'marrom',
        2: 'vermelho',
        5: 'verde',
        10: 'azul'
    }[int(tolerance)]
    
    # Retorna a sequência de cores
    return [first_color, second_color, third_color, tolerance_color]

Essa função utiliza um dicionário de cores para mapear os nomes das cores para seus respectivos valores. Em seguida, ela extrai os valores do string de entrada, converte o valor para ohms e calcula as cores correspondentes a cada faixa. Para a quarta faixa, a função utiliza outro dicionário para mapear os valores de tolerância para as cores correspondentes. Finalmente, a função retorna a sequência de cores em forma de lista.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professor Jhonni S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Jhonni

def IEC60062(valor_resistencia):
    # Mapeamento de cores para valores de resistência
    cores_resistencia = {
        '0': 'preto',
        '1': 'marrom',
        '2': 'vermelho',
        '3': 'laranja',
        '4': 'amarelo',
        '5': 'verde',
        '6': 'azul',
        '7': 'roxo',
        '8': 'cinza',
        '9': 'branco'
    }

    # Mapeamento de cores para valores de tolerância
    cores_tolerancia = {
        '1': 'marrom',
        '2': 'vermelho',
        '5': 'verde',
        '10': 'ouro',
        '20': 'prata'
    }

    # Dividir o valor da resistência em partes
    partes = valor_resistencia.split()

    # Obter as partes relevantes
    parte_valor = partes[0]
    parte_multiplo = partes[1]
    parte_tolerancia = partes[2]

    # Obter as cores correspondentes
    cores_valor = [cores_resistencia[digito] for digito in parte_valor]
    cor_multiplo = cores_resistencia[parte_multiplo]
    cor_tolerancia = cores_tolerancia[parte_tolerancia]

    # Retornar a sequência de cores
    return cores_valor + [cor_multiplo, cor_tolerancia]

# Exemplo de uso:
valor_resistencia_exemplo = "2260 x10 ±1%"
sequencia_cores = IEC60062(valor_resistencia_exemplo)
print(sequencia_cores)

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Prefere professores para aulas particulares ou resolução de atividades?
Aulas particulares
Encontre um professor para combinar e agendar aulas particulares Buscar professor
Tarefas
Envie sua atividade, anexe os arquivos e receba ofertas dos professores Enviar tarefa