Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Escreva uma função Python que recebe graus em Fahrenheit e retorna a temperatura correspondente em Celcius - Lista de Exercícios Resolvidos de Python

Quantidade de visualizações: 828 vezes
Pergunta/Tarefa:

Escreva um programa em Python que usa uma função chamada fahrenheit_celsius() que recebe o valor da temperatura em graus Fahrenheit e retorna a temperatura correspondente em graus Celcius. A função deve possuir um parâmetro do tipo float e retornar um valor float.

Pesquise a fórmula de conversão de Fahrenheit para Celcius que você julgar mais adequada.

Seu programa deve apresentar a seguinte saída:

Informe a temperatura em Fahrenheit: 100
100,00 graus Fahrenheit é igual à 37,78 graus Celcius.

Pressione qualquer tecla para continuar...
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python console (modo texto):

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

def main():
  # vamos pedir para o usuário informar a temperatura em
  # Fahrenheit
  fahrenheit = float(input("Informe a temperatura em Fahrenheit: "))
   
  # vamos converter os graus Fahrenheit para graus
  # Celsius
  celsius = fahrenheit_celsius(fahrenheit);
  
  # e agora mostramos o resultado
  print("{0} graus Fahrenheit é igual à {1} graus Celcius.".format(
    fahrenheit, celsius))

# função que permite converter de graus
# Fahrenheit para graus Celsius
def fahrenheit_celsius(fahrenheit):
  return (5.0 / 9.0) * (fahrenheit - 32.0)

if __name__== "__main__":
  main()


Link para compartilhar na Internet ou com seus amigos:

Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como somar os elementos da diagonal principal de uma matriz em Python

Quantidade de visualizações: 3606 vezes
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas.

Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas.

Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de Diagonal Principal e Diagonal Secundária.

A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja:



Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando Python. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código Python.

Veja um trecho de código Python completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

def main():
  # vamos declarar e construir uma matriz de três linhas
  # e três colunas
  linhas, colunas = (3, 3)
  matriz = [[0 for x in range(linhas)] for y in range(colunas)]
  soma_diagonal = 0 # guarda a soma dos elementos na diagonal
  # principal

  # vamos ler os elementos da matriz
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      matriz[i][j] = int(input("Informe o valor para a linha " + str(i) 
        + " e coluna " + str(j) + ": "))

  print()
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      print(matriz[i][j], end='  ')
    print()

  # vamos calcular a soma dos elementos da diagonal   
  # principal
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      if i == j:
        soma_diagonal = soma_diagonal + matriz[i][j]

  # finalmente mostramos a soma da diagonal principal
  print("\nA soma dos elementos da diagonal principal é: %d" %
    soma_diagonal)  

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Informe o valor para a linha 0 e coluna 0: 3
Informe o valor para a linha 0 e coluna 1: 7
Informe o valor para a linha 0 e coluna 2: 9
Informe o valor para a linha 1 e coluna 0: 2
Informe o valor para a linha 1 e coluna 1: 4
Informe o valor para a linha 1 e coluna 2: 1
Informe o valor para a linha 2 e coluna 0: 5
Informe o valor para a linha 2 e coluna 1: 6
Informe o valor para a linha 2 e coluna 2: 8

3  7  9  
2  4  1  
5  6  8  

A soma dos elementos da diagonal principal é: 15



Python ::: Desafios e Lista de Exercícios Resolvidos ::: Engenharia Civil - Cálculo Estrutural

Exercícios Resolvidos de Python - Como calcular as reações de apoio, momento de flexão máxima e forças cortantes em uma viga bi-apoiada com carga distribuída retangular usando Python

Quantidade de visualizações: 1114 vezes
Pergunta/Tarefa:

Veja a seguinte figura:



Nesta imagem temos uma viga bi apoiada com uma carga q distribuída de forma retangular a uma distância l. Para fins didáticos, vamos considerar que a carga q será em kN/m e a distância l será em metros. O apoio A é de segundo gênero e o apoio B é de primeiro gênero.

Escreva um programa Python que solicita ao usuário que informe o valor da carga q e a distância l entre os apoios A e B. Em seguida mostre os valores das reações nos apoios A e B, o momento de flexão máxima da viga e o momento de flexão para uma determinada distância (que o usuário informará) a partir do apoio A.

Mostre também as forças cortantes nos apoios A e B. Lembre-se de que, para uma carga distribuída de forma retangular, o diagrama de momento fletor é uma parábola, enquanto o diagrama de cortante é uma reta (com o valor zero para a força cortante no meio da viga).

Sua saída deve ser parecida com:

Valor da carga em kN/m: 10
Distância em metros: 13

A reação no apoio A é: 65.000000 kN
A reação no apoio B é: 65.000000 kN
O momento fletor máximo é: 211.250000 kN

Informe uma distância a partir do apoio A: 4
O momento fletor na distância informada é: 180.000000 kN

A força cortante no apoio A é: 65.000000 kN
A força cortante no apoio B é: -65.000000 kN
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# Algoritmo que calcula reação de apoio, momento fletor
# e força cortante em uma viga bi-apoiada em Python

# vamos importar o módulo Math
import math

# função principal do programa
def main():
  # vamos pedir para o usuário informar o valor da carga
  carga = float(input("Valor da carga em kN/m: "))
  
  # vamos pedir para o usuário informar a distância entre os apoios
  distancia = float(input("Distancia em metros: "))
  
  # vamos calcular a reação no apoio A
  reacao_a = (1.0 / 2.0) * carga * distancia
  
  # vamos calcular a reação no apoio B
  reacao_b = reacao_a
  
  # vamos calcular o momento fletor máximo
  flexao_maxima = (1.0 / 8.0) * carga * math.pow(distancia, 2.0)
  
  # e mostramos o resultado
  print("\nA reação no apoio A é: {0} kN".format(reacao_a))
  print("A reação no apoio B é: {0} kN".format(reacao_b))
  print("O momento fletor máximo é: {0} kN".format(flexao_maxima))
  
  # vamos pedir para o usuário informar uma distância a
  # partir do apoio A
  distancia_temp = float(input("\nInforme uma distância a partir do apoio A: "))
  # vamos mostrar o momento fletor na distância informada
  if distancia_temp > distancia:
    print("\nDistância inválida.")
  else:
    flexao_distancia = (1.0 / 2.0) * carga * distancia_temp * \
      (distancia - distancia_temp)
    print("O momento fletor na distância informada é: {0} kN".format(
      flexao_distancia))  
   
  # vamos mostrar a força cortante no apoio A
  cortante_a = (1.0 / 2.0) * carga * distancia
  print("\nA força cortante no apoio A é: {0} kN".format(cortante_a))
  
  # vamos mostrar a força cortante no apoio B
  cortante_b = cortante_a * -1
  print("A força cortante no apoio B é: {0} kN".format(cortante_b))
  
if __name__== "__main__":
  main()



Python ::: Dicas & Truques ::: Strings e Caracteres

Como retornar o código ASCII ou Unicode de um caractere em Python usando a função ord()

Quantidade de visualizações: 13491 vezes
Nesta dica vou mostrar como é possível usar a função ord() da linguagem Python para retornar o código ASCII ou Unicode de um determinado caractere (letra, dígito ou símbolo).

Veja o exemplo completo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

def main():
  print("O codigo ASCII ou Unicode para o caractere A é",
    ord('A')) 
 
if __name__== "__main__":
  main()

Ao executarmos este código nós teremos o seguinte resultado:

O codigo ASCII ou Unicode para o caractere A é 65


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Fenômenos dos Transportes, Hidráulica e Drenagem

Exercício Resolvido de Python - Como calcular Vazão Volumétrica, Vazão Mássica e Vazão em Peso usando Python - Python para Fenômenos dos Transportes e Hidráulica

Quantidade de visualizações: 48 vezes
Pergunta/Tarefa:

Uma torneira enche de água um tanque em 2 horas e 20 segundos. Determine a vazão em volume, em massa e em peso em unidades do SI. Considere que a densidade da água é igual a 1000 kg/m3 e g = 9,8 m/s2. Considere também que a capacidade do tanque é de 10 mil litros.

Sua saída deverá ser parecida com:

Informe a quantidade de horas: 2
Informe a quantidade de segundos: 20
Informe a capacidade do tanque (litros): 10000
Informe a densidade da água (kg/m3): 1000
Informe a força da gravidade (m/s2): 9.8

Total de segundos: 7220
Capacidade do tanque: 10.0 m3
Vazão Volumétrica: 0.0013850415512465374 m3/s
Vazão Mássica: 1.3850415512465375 kg/s
Vazão em Peso: 13.57340720221607 N/s
Resposta/Solução:

Para obter a Vazão Volumétrica, que representa a quantidade de volume que atravessa uma região em um determinado intervalo de tempo, nós vamos usar a seguinte fórmula:

\[Q_v = \frac{V}{T} \] Onde:

Qv = vazão volumétrica em metros cúbicos por segundo (m3/s);

V = o volume do fluido em metros cúbicos (m3);

T = o tempo em segundos (s).

Para obter a Vazão Mássica, que representa a quantidade de massa que atravessa uma região em um determinado intervalo de tempo, nós vamos usar a seguinte fórmula:

\[Q_m = \frac{M}{T} \] Onde:

Qm = vazão mássica em quilos por segundo (kg/s);

M = a massa do fluido em quilos (kg);

T = o tempo em segundos (s).

Para a Vazão em Peso nós só precisamos multiplicar a Vazão Mássica pelo peso da gravidade, ou seja, 9.8. Dessa forma, a Vazão em Peso é dada em N/s.

Obs.: No código eu mostro como converter horas em segundos e litros em m3.

Veja a resolução completa para o exercício em Python, comentada linha a linha:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# método principal
def main():
  # vamos ler a quantidade de horas e segundos
  hora = int(input("Informe a quantidade de horas: "))
  segundos = int(input("Informe a quantidade de segundos: "))

  # agora vamos ler a capacidade do tanque em litros
  capacidade_tanque = int(input("Informe a capacidade do tanque (litros): "))

  # vamos ler a densidade da água
  densidade_agua = float(input("Informe a densidade da água (kg/m3): "))

  # vamos ler a força da gravidade
  gravidade = float(input("Informe a força da gravidade (m/s2): "))

  # vamos calcular o total de segundos
  segundos_hora = 3600
  total_segundos = (2 * segundos_hora) + segundos

  # vamos converter a capacidade do tanque de litros para m3
  volume = capacidade_tanque / 1000.0

  # vamos calcular a vazão volumétrica
  vazao_volumetrica = volume / total_segundos 

  # vamos calcular a vazão mássica
  vazao_massica = vazao_volumetrica * densidade_agua

    # vamos calcular a vazão em peso
  vazao_peso = vazao_massica * gravidade

  # e mostramos o resultado
  print("\nTotal de segundos: {0}".format(total_segundos))
  print("Capacidade do tanque: {0} m3".format(volume))  
  print("Vazão Volumétrica: {0} m3/s".format(vazao_volumetrica))
  print("Vazão Mássica: {0} kg/s".format(vazao_massica))
  print("Vazão em Peso: {0} N/s".format(vazao_peso))

if __name__== "__main__":
  main()



Python ::: Dicas & Truques ::: Lista (List)

Como ordenar uma lista de inteiros em Python de acordo com a soma dos dígitos de seus elementos usando uma função lambda

Quantidade de visualizações: 791 vezes
Nesta dica mostrarei como podemos usar uma função lambda em Python para ordenar uma lista de inteiros de acordo com a soma dos seus dígitos. Este é um código muito interessante e que permitirá um melhor entendimento de funções lambda em Python.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# método usado para ordenar a lista de acordo com a soma
# de seus dígitos
def ordenar(vetor):
  return sorted(vetor, key=lambda n: sum(int(c) for c in str(n) if c != "-"))

# função principal do programa
def main():
  # vamos criar uma lista de inteiros
  valores = [21, 10, 8, 32, 70, 41, 40, 11]
  # vamos exibir a lista original
  print("Lista na ordem original: {0}".format(valores))
  
  # agora vamos ordenar de acordo com a soma dos dígitos
  lista_ordenada = ordenar(valores)
  print("Lista ordenada: {0}".format(lista_ordenada))
  
if __name__== "__main__":
  main()

Ao executarmos este código Python nós teremos o seguinte resultado:

Lista na ordem original: [21, 10, 8, 32, 70, 41, 40, 11]
Lista ordenada: [10, 11, 21, 40, 32, 41, 70, 8]


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Fenômenos dos Transportes, Hidráulica e Drenagem

Exercício Resolvido de Python - Determine a vazão escoada em um canal com seção retangular, com lâmina d´água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por Km

Quantidade de visualizações: 361 vezes
Exercício Resolvido de Python - Determine a vazão escoada em um canal com seção retangular, com lâmina d'água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por Km

Pergunta/Tarefa:

Python para Fenômenos dos Transportes, Hidráulica e Drenagem. Python para cálculo de vazão em condutos livres. Fórmula de Manning para a velocidade de escoamento.

Neste exercício em Python veremos como calcular a vazão de um canal com seção retangular. Para isso nós vamos usar a Equação de Manning da velocidade do escoamento.

Determine a vazão escoada em um canal com seção retangular, com lâmina d'água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por Km. Utilize η=0,012.



Sua saída deverá ser parecida com:

Informe a Largura da Base do Canal (em metros): 3
Informe a Profundidade do Escoamento (em metros): 2
Informe a Declividade do Canal (em metros por km): 0.2
Informe o Coeficiente de Rugosidade do Canal: 0.012

A Área Molhada do Canal é: 6.0 m2
O Perímetro Molhado do Canal é: 7.0 m
O Raio Hidráulico do Canal é: 0.8571428571428571 m
A Velocidade do Escoamento é: 1.0634144533132281 m/s
A Vazão do Canal é: 6.380486719879369 m3/s
Resposta/Solução:

Veja a resolução completa para o exercício em Python, comentada linha a linha:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# vamos importar o módulo Math
import math

# método principal
def main():
  # vamos ler a largura do canal em metros
  b = float(input("Informe a Largura da Base do Canal (em metros): "))

  # vamos ler a profundida do escoamento em metros
  h = float(input("Informe a Profundidade do Escoamento (em metros): "))
  
  # vamos obter a declividade do canal em metros por quilômetros
  I = float(input("Informe a Declividade do Canal (em metros por km): "))
  # vamos converter a declividade em metro por metro
  I = I / 1000.0

  # vamos ler o coeficiente de rugosidade do canal
  n = float(input("Informe o Coeficiente de Rugosidade do Canal: "))

  # vamos calcular a área molhada
  am = b * h

  #  agora vamos calcular o perímetro molhado
  pm = b + 2 * h

  # finalmente calculamos o raio hidráulico
  rh = am / pm

  # agora vamos usar a equação de manning para calcular a velocidade do escoamento
  v = math.pow(rh, 2.0 / 3.0) * (math.sqrt(I) / n)

  # finalmente calculamos a vazão do canal
  Q = am * v

  # e mostramos os resultados
  print("\nA Área Molhada do Canal é: {0} m2".format(am))
  print("O Perímetro Molhado do Canal é: {0} m".format(pm))
  print("O Raio Hidráulico do Canal é: {0} m".format(rh))
  print("A Velocidade do Escoamento é: {0} m/s".format(v))
  print("A Vazão do Canal é: {0} m3/s".format(Q))

if __name__== "__main__":
  main()



Python ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca)

Python Insertion Sort - Como ordenar um vetor de inteiros usando a ordenação Insertion Sort (Ordenação por Inserção)

Quantidade de visualizações: 3726 vezes
Nesta dica veremos como implementar a ordenação Insertion Sort, Insertion-Sort, ou Ordenação por Inserção na linguagem Python.

A ordenação Insertion Sort, Insertion-Sort, ou Ordenação por Inserção, possui uma complexidade de tempo de execução igual à ordenação Bubble Sort (Ordenação da Bolha), ou seja, O(n2). Embora mais rápido que o Bubble Sort, e ser um algorítmo de ordenação quadrática, a ordenação Insertion Sort é bastante eficiente para problemas com pequenas entradas, sendo o mais eficiente entre os algoritmos desta ordem de classificação, porém, nunca recomendada para um grande conjunto de dados.

A forma mais comum para o entendimento da ordenação Insertion Sort é compará-la com a forma pela qual algumas pessoas organizam um baralho num jogo de cartas. Imagine que você está jogando cartas. Você está com as cartas na mão e elas estão ordenadas. Você recebe uma nova carta e deve colocá-la na posição correta da sua mão de cartas, de forma que as cartas obedeçam à ordenação.

A cada nova carta adicionada à sua mão de cartas, a nova carta pode ser menor que algumas das cartas que você já tem na mão ou maior, e assim, você começa a comparar a nova carta com todas as cartas na sua mão até encontrar sua posição correta. Você insere a nova carta na posição correta, e, novamente, a sua mão é composta de cartas totalmente ordenadas. Então, você recebe outra carta e repete o mesmo procedimento. Então outra carta, e outra, e assim por diante, até não receber mais cartas.

Esta é a ideia por trás da ordenação por inserção. Percorra as posições do vetor (array), começando com o índice 1 (um). Cada nova posição é como a nova carta que você recebeu, e você precisa inseri-la no lugar correto no sub-vetor ordenado à esquerda daquela posição.

Vamos ver a implementação na linguagem Python agora? Observe o seguinte código, no qual temos um vetor de inteiros com os elementos {4, 6, 2, 8, 1, 9, 3, 0, 11}:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# método que permite ordenar o vetor de inteiros
# usando a ordenação Insertion Sort
def insertionSort(vetor):
  # percorre todos os elementos do vetor começando
  # pelo segundo elemento
  for i in range(len(vetor)):
    atual = vetor[i] # o valor atual a ser inserido
    # começa a comparar com a célula à esquerda de i
    j = i - 1
      
    # enquanto vetor[j] estiver fora de ordem em relação
    # a atual
    while((j >= 0) and (vetor[j] > atual)):
      # movemos vetor[j] para a direita e decrementamos j
      vetor[j + 1] = vetor[j]
      j = j - 1
      
      # colocamos atual em seu devido lugar
      vetor[j + 1] = atual

# função principal do programa
def main():
  # cria uma lista de inteiros
  valores = [4, 6, 2, 8, 1, 9, 3, 0, 11]
  
  # exibimos o vetor na ordem original
  print("Ordem original:\n")
  for i in range(len(valores)):
    print(valores[i], end = "  ")
    
  # vamos ordenar o vetor agora
  insertionSort(valores)
    
  # exibimos o vetor ordenado
  print("\n\nOrdenado:\n")
  for i in range(len(valores)):
    print(valores[i], end = "  ")

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Sem ordenação:

4 6 2 8 1 9 3 0 11

Ordenada usando Insertion Sort:

0 1 2 3 4 6 8 9 11


Python ::: Dicas & Truques ::: Lista (List)

Curso de Python - Como ordenar uma lista de strings baseado no tamanho de cada uma

Quantidade de visualizações: 8110 vezes
Este exemplo mostra como ordenar os elementos de uma List de strings baseado no tamanho da palavra, frase ou texto. Note como o valor "key = len" como argumento para o método sort() da classe List.

Veja o código completo para a dica:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

def main():
  # cria uma lista de nomes
  nomes = ['Carlos', 'Igor', 'Osmar', 'Fernanda']
 
  # exibe a lista na ordem original
  print(nomes)
  
  # ordena a lista
  nomes.sort(key = len)
 
  # exibe a lista ordenada
  print(nomes)

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

['Carlos', 'Igor', 'Osmar', 'Fernanda']
['Igor', 'Osmar', 'Carlos', 'Fernanda']


Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Ações em estruturas: apresentação dos principais carregamentos na análise de estruturas convencionais

As variações de temperatura causam ações nas estruturas. Tanto isso é verdade que é recomendado, em lajes com área grande, as tão conhecidas juntas de dilatação para evitar que ocorram fissuras no concreto devido às deformações causadas pelo carregamento térmico. A ação devido às variações de temperatura é classificada como?

A) Ação acidental direta.

B) Ação permanente indireta.

C) Ação permanente direta.

D) Ação acidental indireta.

E) Ação excepcional.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Agregados naturais

Os agregados classificam-se segundo sua origem, dimensões das partículas e o peso específico aparente. Conforme o peso específico aparente, assinale a alternativa que contenha um agregado pesado.

A) Escória granulada.

B) Calcário.

C) Granito.

D) Magnetita.

E) Arenito.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Fases de uma obra

Em relação aos conceitos envolvidos na elaboração de um orçamento de obras, assinale a alternativa correta.

A) Custos diretos são aqueles em que é necessário estipular um fator de rateio para que sejam apropriados aos serviços.

B) Devem ser incluídas no título "desmobilização" de um orçamento as despesas com locação, fechamento, tapumes, demolições e relocações.

C) A administração do canteiro de obras e as despesas decorrentes da administração da empresa fazem parte dos custos diretos de uma obra.

D) Como regra, orçam-se os preços na construção civil por serviço, determinando-os segundo a produção de composições unitárias.

E) Em um solo, caso seja necessário escavar 1 m3 do terreno, deve-se orçar, no item referente à escavação do material, o valor 1,4 m3.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Segurança e Estados Limites Ações nas Estruturas de Concreto Armado

Uma viga de um edifício residencial está submetida a um carregamento linear de 20kN/m. Estima-se que 60% dessa carga seja de natureza permanente e 40%, acidental. A seção transversal da viga é retangular com bw = 20cm e h = 40cm e, para o seu peso próprio, é considerado um peso específico do concreto armado de 25kN/m3.

Assinale a alternativa correta quanto ao valor de carregamento solicitante a ser levado em conta nessa viga, conforme a combinação. As ações devem ser consideradas separadamente e com efeito desfavorável.

A) Para combinação normal última, o valor de carregamento solicitante é de 30,8kN/m.

B) Para a combinação quase permanente de serviço, o valor do carregamento solicitante é de 18kN/m.

C) Para a combinação frequente de serviço, o valor do carregamento solicitante é de 18,8kN/m.

D) Para a combinação rara de serviço, o valor do carregamento solicitante é de 22kN/m.

E) Para a combinação última excepcional, o valor do carregamento solicitante é de 27,2kN/m.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

A responsabilidade moral

O humano é um ser social e, para tal fim, estabelece valores e princípios como regras e normas de convivência para sua sobrevivência. Isso significa que:

A) o homem possui, em sua essência, a necessidade de interação com os outros seres da mesma espécie.

B) o ser humano precisa viver sozinho.

C) os animais não podem viver com humanos.

D) o ser humano não gosta de viver em sociedade.

E) humanos e animais não têm instinto.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 26 usuários muito felizes estudando em nosso site.