Olá Magnun, Abaixo minha resolução para os exercícios: Primeiro exercício: Código : #!/usr/bin/env python # -*- coding: utf-8 -*- faltas = {'aluno1':2, 'aluno2':3, 'aluno3':7, 'aluno4':11, 'aluno5':0, 'aluno6':10} for aluno,falta in faltas.items(): if falta > 10: print 'Aluno:',aluno,'REPROVADO! Possui',falta,'faltas!' Segundo Exercício: Código : #!/usr/bin/env python # -*- coding: utf-8 -*- faltas = {'aluno1':2, 'aluno2':3, 'aluno3':7, 'aluno4':11, 'aluno5':0, 'aluno6':1} notas = {'aluno1':[5,6,5], 'aluno2':[7,8,6], 'aluno3':[6,6,8], 'aluno4':[5,9,8], 'aluno5':[5,6,3], 'aluno6':[6,6,7]} for aluno_notas,nota in notas.items(): media = 0 for notan in nota: media += notan media = float(media) / len(nota) if media > 6: for aluno_faltas,falta in faltas.items(): if aluno_notas == aluno_faltas: if falta < 10: print 'Aluno',aluno_notas,'aprovado.' break Um abraço!
#!/usr/bin/env python # -*- coding: utf-8 -*- faltas = {'aluno1':2, 'aluno2':3, 'aluno3':7, 'aluno4':11, 'aluno5':0, 'aluno6':10} for aluno,falta in faltas.items(): if falta > 10: print 'Aluno:',aluno,'REPROVADO! Possui',falta,'faltas!'
#!/usr/bin/env python # -*- coding: utf-8 -*- faltas = {'aluno1':2, 'aluno2':3, 'aluno3':7, 'aluno4':11, 'aluno5':0, 'aluno6':1} notas = {'aluno1':[5,6,5], 'aluno2':[7,8,6], 'aluno3':[6,6,8], 'aluno4':[5,9,8], 'aluno5':[5,6,3], 'aluno6':[6,6,7]} for aluno_notas,nota in notas.items(): media = 0 for notan in nota: media += notan media = float(media) / len(nota) if media > 6: for aluno_faltas,falta in faltas.items(): if aluno_notas == aluno_faltas: if falta < 10: print 'Aluno',aluno_notas,'aprovado.' break
Olá Magnun, Resolvi colocar as 03 questões em um código só. Acho que atende ao proposto por você: Código : #!/usr/bin/env python # -*- coding: utf-8 -*- alunos = {'Fulano':[6, 7, 5, 2], 'Sicrano':[7, 8, 9, 8], 'Beltrano':[10, 9, 10, 10]} media_turma,qtde_alunos = 0, 0 for aluno in alunos.items(): cont, soma = 0, 0 qtde_alunos += 1 for nota in aluno[1]: tamanho = len(aluno[1]) soma = soma + aluno[1][cont] media = float(soma) / tamanho status = 'Aprovado!' if media >= 6 else 'Reprovado!' cont += 1 media_turma = media_turma + media print 'Nome:',aluno[0],'\t- Média:',media,'\t- Situação:',status print '-----------------------\nA média da turma é:',float(media_turma) / qtde_alunos Um abraço!
#!/usr/bin/env python # -*- coding: utf-8 -*- alunos = {'Fulano':[6, 7, 5, 2], 'Sicrano':[7, 8, 9, 8], 'Beltrano':[10, 9, 10, 10]} media_turma,qtde_alunos = 0, 0 for aluno in alunos.items(): cont, soma = 0, 0 qtde_alunos += 1 for nota in aluno[1]: tamanho = len(aluno[1]) soma = soma + aluno[1][cont] media = float(soma) / tamanho status = 'Aprovado!' if media >= 6 else 'Reprovado!' cont += 1 media_turma = media_turma + media print 'Nome:',aluno[0],'\t- Média:',media,'\t- Situação:',status print '-----------------------\nA média da turma é:',float(media_turma) / qtde_alunos
Falou tudo lord4ark!!
Olá Magnun. Segundo o Zen of Python: Explicit is better than implicit. Good Job []'s Jr.
Muito bom.
Muito bom, parabéns cleoson, ótimo código explorando funcionalidades bem "obscuras" da linguagem: lista[i],lista[j] = lista[j],lista[i] Essa funcionalidade é relativamente pouco divulgada e consequentemente pouco utilizada, mas torna a o código muito mais legível.
Olá Magnun, Abaixo minha solução para o desafio. Primeiro eu pesquisei sobre algoritmos de ordenação. Depois fiz usando 'if' e 'for'. Depois, peguei o que eu fiz com 'for' e coloquei o 'while'. Até onde testei, funcionou. Código : #!/usr/bin/env python # -*- coding: utf-8 -*- print 'Este programa organiza números em ordem crescente.' lista = list(input('Digite os números a serem organizados separados por vírgula (ex.: 4, 2, 3, 1, 5): ')) n = len(lista) i = 0 while i < n: j = i + 1 while j < n: if lista[i] > lista[j]: lista[i],lista[j] = lista[j],lista[i] j += 1 i += 1 print lista Um abraço!
#!/usr/bin/env python # -*- coding: utf-8 -*- print 'Este programa organiza números em ordem crescente.' lista = list(input('Digite os números a serem organizados separados por vírgula (ex.: 4, 2, 3, 1, 5): ')) n = len(lista) i = 0 while i < n: j = i + 1 while j < n: if lista[i] > lista[j]: lista[i],lista[j] = lista[j],lista[i] j += 1 i += 1 print lista
Olá! Agora a minha solução para o exercício 2. O desafio eu vou tentar fazer amanhã! Código : #!/usr/bin/env python # -*- coding: utf-8 -*- print 'Programa que informa a quantidade de caracteres em uma palavra informada.\nPara sair, informa a string "pare" (tudo em letras minúsculas).\n' palavra = 'continua' while palavra != 'pare': palavra = raw_input('Digite uma palavra: ') if palavra == 'pare': continue print 'A palavra',palavra,'tem',len(palavra),'caracteres.\n' print '\nVocê digitou "pare"!' Um abraço!
#!/usr/bin/env python # -*- coding: utf-8 -*- print 'Programa que informa a quantidade de caracteres em uma palavra informada.\nPara sair, informa a string "pare" (tudo em letras minúsculas).\n' palavra = 'continua' while palavra != 'pare': palavra = raw_input('Digite uma palavra: ') if palavra == 'pare': continue print 'A palavra',palavra,'tem',len(palavra),'caracteres.\n' print '\nVocê digitou "pare"!'
Olá Magnun, Abaixo a minha solução para o exercício 1: Código : #!/usr/bin/env python # -*- coding: utf-8 -*- print 'Este programa conta a quantidade de ocorrências\nde uma determinada letra no texto informado.\n' texto = raw_input('Digite um texto: ') letra = raw_input('Digite a letra a ser procurada: ') contador, ind = 0, 0 if len(letra) > 1: letra = letra[0] print '\nFoi digitado mais de um caracter na letra a ser procurada. Será considerado somente o primeiro caracter.' while ind < len(texto): if letra == texto[ind]: contador += 1 ind += 1 else: if contador == 0: print '\nNão foi encontrada nenhuma ocorrência da letra "%(letra)s" no texto informado.'%locals() else: print '\nForam encontradas %(contador)s ocorrências da letra "%(letra)s" no texto informado.'%locals() Um abraço!
#!/usr/bin/env python # -*- coding: utf-8 -*- print 'Este programa conta a quantidade de ocorrências\nde uma determinada letra no texto informado.\n' texto = raw_input('Digite um texto: ') letra = raw_input('Digite a letra a ser procurada: ') contador, ind = 0, 0 if len(letra) > 1: letra = letra[0] print '\nFoi digitado mais de um caracter na letra a ser procurada. Será considerado somente o primeiro caracter.' while ind < len(texto): if letra == texto[ind]: contador += 1 ind += 1 else: if contador == 0: print '\nNão foi encontrada nenhuma ocorrência da letra "%(letra)s" no texto informado.'%locals() else: print '\nForam encontradas %(contador)s ocorrências da letra "%(letra)s" no texto informado.'%locals()
Mandou bem de novo cleoson. Dá pra ver que você já tem um certo conhecimento de programação em geral (pela estrutura do programa) e em Python (pelo try... except....). Por enquanto o curso ainda está no conteúdo básico, mas em breve veremos alguns assuntos mais interessantes. Até mais...