Hoje é Ter Mai 22, 2012 10:27 am





Criar novo tópico Responder Tópico  [ 16 Mensagens ]  Ir para a página 1, 2  Próximo
Exercício 
Autor Mensagem

Data de registro: Dom Nov 23, 2008 8:59 pm
Mensagens: 13
Localização: Maringá
Mensagem Exercício
Código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Lição da Aula nº 10
# Autor: Claudinei Pereira
#
# 1) Sala de aula: Faça um programa que pergunte o número de alunos em uma sala
# de aula, depois pergunte o nome de cada um, após isso ele deve pedir 4 notas
# de cada aluno e fazer a média entre elas, se a média for maior que 6 o aluno
# está aprovado, senão reprova. No fim deve ser exibida uma tabela assim:
#
# Nome do aluno - nota1, nota2, nota3, nota4 - media - aprovado/reprovado
print("Sala de Aula\n")
alunos = []
medias = {}
NumAlu = int(raw_input("Digite o número de alunos da sala: "))

while NumAlu != 0:
    alunos.append(str(raw_input("Digite o nome do aluno: ")))
    NumAlu -= 1

for num in range(len(alunos)):
    notas = []
    for i in range(1,5):
        nota = float(raw_input("Digite a nota %d do aluno %s: "
                % (i, (alunos[num]))))
        if nota > 10:
            aviso = float(raw_input("Somente notas de 0 a 10. Digite um número"
                                    " de 0 a 10: "))
            notas.append(aviso)           
        else:
            notas.append(nota)
    medias[alunos[num]] = notas

for k, v in medias.iteritems():
    media = float((v[0] + v[1] + v[2] + v[3]) / 4)
    if media <= 6.0:
        resultado = "Reprovado"
    else:
        resultado = "Aprovado"
    print("Aluno: %s" % k)
    print("Notas: %1.1f, %1.1f, %1.1f, %1.1f" % (v[0], v[1], v[2], v[3]))
    print("Média: %1.1f" % media)
    print("Resultado: %s\n" % resultado)


Dom Jan 18, 2009 2:39 pm
Perfil E-mail WWW

Data de registro: Dom Dez 14, 2008 7:31 pm
Mensagens: 6
Mensagem Re: Exercício
O pessoal é rápido meso hein.
Ficou muito legal seu código Claudinei.

Segue minha solução para a questão:

Código:
#!/usr/bin/python
# -*- coding: utf-8 -*-

# by erlon.Cabral - erlon.cabral@gmail.com

print "Classificação de Alunos:\n"

total_aluno = int(raw_input("Quantos alunos para classificar?: "))
nome_aluno = []
notas = []

i = 1

while i <= total_aluno:
    nome_aluno.append(raw_input("Nome do %d° Aluno: " %i))
    i += 1

print "\nDigitando a nota dos Alunos:"

i = 1

while i <= total_aluno:
    for y in range(4):
        notas.append(float(raw_input("Digite a %d° nota de %s: " \
                                 %(y + 1, nome_aluno[i-1]))))
    print ""
    i += 1

print "Resultado final:"

i = 1
y = 0

while i <= total_aluno:
    # limpa para novo aluno
    media = 0
    media_aluno = 0.0
    notas_aluno = ""
    resultado = "Reprovado"

    for y in range(4):
        media += notas[0]
        notas_aluno += " %.1f," % notas[0]
        # apos armazenar deleta nota
        del notas[0]

    media_aluno = media / 4.0

    if media_aluno > 6:
        resultado = "Aprovado"

    print "O aluno %s tirou as %s foi %s com a média: %.1f" \
        %(nome_aluno[i-1], notas_aluno, resultado, media_aluno)

    i += 1


Gostei muito do exercício, bem bolado. rs


Dom Jan 18, 2009 8:59 pm
Perfil E-mail

Data de registro: Seg Jan 19, 2009 11:42 am
Mensagens: 2
Mensagem Re: Exercício
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Autor: Ruy Gomes
nome=[]
n1=[]
n2=[]
n3=[]
n4=[]

quantidade=int(raw_input("Digite a quantidade de alunos: "))

for i in range(quantidade):
nome.append(raw_input("Nome do aluno: "))

print "\n"

for i in range(quantidade):
n1.append(float(raw_input("Digite a primeira nota do aluno %s: " %nome[i])))
n2.append(float(raw_input("Digite a segunda nota do aluno %s: " %nome[i])))
n3.append(float(raw_input("Digite a terceira nota do aluno %s: " %nome[i])))
n4.append(float(raw_input("Digite a quarta nota do aluno %s: " %nome[i])))

print "\n"

for i in range(quantidade):
media=float((n1[i] + n2[i] + n3[i] + n4[i])/4)
if (media>=6):
print ("Aluno: %s - NOTA 1: %f, NOTA 2: %f, NOTA 3: %f, NOTA 4: %f - MÉDIA %f - APROVADO" %(nome[i], n1[i], n2[i], n3[i], n4[i], media))
else:
print ("Aluno: %s - NOTA 1: %f, NOTA 2: %f, NOTA 3: %f, NOTA 4: %f - MÉDIA %f - REPROVADO" %(nome[i], n1[i], n2[i], n3[i], n4[i], media))


Seg Jan 19, 2009 12:28 pm
Perfil E-mail
Site Admin

Data de registro: Sex Nov 21, 2008 11:45 pm
Mensagens: 22
Localização: Cubatão - SP - Brasil
Mensagem Re: Exercício
Opa! Hoje vou colocar o meu também :twisted:
Código:
#!/usr/bin/python
# -*- coding: utf-8 -*-
print("Sistema Escolar, Aulas de Python")
nr_alunos = int(raw_input("Quantidade de Alunos: "))
alunos = []
i = 1
print("Digite o nome dos %i alunos" % nr_alunos)
while i <= nr_alunos:
   alunos.append(raw_input("%iº aluno: " % i))
   i += 1
print("Agora as notas dos alunos")
i = 0
notas = []
while i < nr_alunos:
   j = 1
   notas_tmp = []
   while j <= 4:
      notas_tmp.append(float(raw_input("Digite a %i note de %s: " % (j, alunos[i]))))
      j += 1
   notas.append(notas_tmp)
   i += 1
i = 0
while i < nr_alunos:
   media = (notas[i][0] + notas[i][1] + notas[i][2] + notas[i][3]) / 4
   if media >= 6:
      resultado = "Aprovado"
   else:
      resultado = "Reprovado"
   print("%s - %f, %f, %f, %f - %f - %s" % (alunos[i], notas[i][0], notas[i][1], notas[i][2], notas[i][3], media, resultado))
   i += 1


=) InFog


Seg Jan 19, 2009 9:14 pm
Perfil E-mail WWW

Data de registro: Ter Dez 16, 2008 11:15 pm
Mensagens: 15
Mensagem Re: Exercício
ai vai o meu ...

Código:
# -*- coding: utf-8 -*-
"""
1) Sala de aula: Faça um programa que pergunte o número de alunos em uma
sala de aula, depois pergunte o nome de cada um, após isso ele deve pedir
4 notas de cada aluno e fazer a média entre elas, se a média for maior que 6
o aluno está aprovado, senão reprova. No fim deve ser exibida uma tabela assim:

Nome do aluno - nota1, nota2, nota3, nota4 - media - aprovado/reprovado

"""

def Media(*lista):  # funcao que recebe uma lista e retorna a media e a situacao
    soma = 0        # mediante a media
    for val in lista:
        soma +=val

    media = soma/4.
    if media>6:
        return media,"Aprovado"
    else :
        return media,"Reprovado"

cont=0
notas = [] #Lista que receberar a lista temporaria (equivale a todos alunos)

num = int(raw_input(u"Número de alunos: "))

while cont<num:

    temp = [] #Lista temporaria (equivale a apenas um aluno)

    print ("\n\n\t\t\tAluno %d" %(cont+1))
    temp.append(str(raw_input("\nNome: " )))
    temp.append(float(raw_input("Primeira nota: ")))
    temp.append(float(raw_input("Segunda nota: ")))
    temp.append(float(raw_input("Terceira nota: ")))
    temp.append(float(raw_input("Quarta nota: ")))
    temp.append(Media(*temp[1:5])) #Passa o conteudo da lista nesse intervalo como argumento

    notas.append(temp) # add temp a notas
   
    cont+=1

cont = 0

print ("Resultado".center(50))
print (u"\nNome\t\tNota_1\tNota_2\tNota_3\tNota_4\tMedia\tSituação\n")

while cont<len(notas):
    print ("%-10s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%s" %(notas[cont][0],
notas[cont][1],notas[cont][2],notas[cont][3],notas[cont][4],
notas[cont][5][0],notas[cont][5][1]))
    cont+=1
   
   
               
               


Rodrigo Cesar
rodrigocliraATyahooDOTcomDOTbr


Ter Jan 20, 2009 2:33 pm
Perfil E-mail

Data de registro: Seg Nov 24, 2008 8:53 am
Mensagens: 16
Localização: Rio de Janeiro
Mensagem Re: Exercício
Aqui está o meu:

Código:
# Curso de Python - Aula 10
# http://infog.casoft.info/?p=425
# -*- coding: iso8859 -*-

# Sala de aula: faça um programa que pergunte o número de alunos em uma sala de aula.
# Depois, pergunte o nome de cada um. Após isso, ele deve pedir as 4 notas de cada aluno e fazer a média entre elas.
# Se a média for maior que 6, o aluno está aprovado, senão, reprovado.
# No fim deve ser exibida uma tabela assim:
# Nome do aluno - nota1, nota2, nota3, nota4 - média - aprovado/reprovado
print('Sala de Aula\n')
alunos = []
notas = []
media = []
resultado = []

# Pergunta a quantidade de alunos
quant_alunos = int(raw_input('Quantidade de alunos: '))
print('\n'),

x = 0
while x < quant_alunos:
    # Pergunta o nome do aluno
    nome = str(raw_input('Nome do(a) aluno(a): '))
    alunos.append(nome)

    # Pergunta as notas deste aluno
    y = 0
    n = []
    while y < 4:
        n.append(float(input('Nota %i de %s: ' %(y+1,nome))))
        y += 1
    notas.append(n)

    # Calcula a média
    z = 0
    m = 0
    while z < 4:
        m+=n[z]
        z += 1
    m/=4

    # Arredonda a média em até 3 casas decimais, caso necessário
    m = list(str(m))
    while len(m)<6:
        m.append('0')
    if int(m[-1])<5:
        m.pop(-1)
    else:
        m.pop(-1)
        m[-1] = str(int(media[-1])+1)
    m = float(''.join(m))

    media.append(m)

    # Verifica se o aluno foi aprovado ou não
    if m>=6:
        resultado.append('Aprovado')
    else:
        resultado.append('Reprovado')

    print('\n'),

    x += 1

# Imprime os alunos, notas, média e situação
print('Relação dos Alunos')
print('-'*84)
print('|%s|%s|%s|%s|%s|%s|%s|' %('Nome do aluno'.center(25) , 'Nota 1'.center(8) , 'Nota 2'.center(8) ,
                                 'Nota 3'.center(8) , 'Nota 4'.center(8) , 'Média'.center(7) , 'Situação'.center(12)))
print('-'*84)

i = 0
while i < quant_alunos:
    print('|%s|%s  |%s  |%s  |%s  | %s|%s|' %(alunos[i].ljust(25) , str(notas[i][0]).rjust(6) , str(notas[i][1]).rjust(6) ,
                                              str(notas[i][2]).rjust(6) , str(notas[i][3]).rjust(6) ,
                                              str(media[i]).ljust(6) , resultado[i].center(12)))
    i += 1
print('-'*84)



Ter Jan 20, 2009 3:03 pm
Perfil E-mail

Data de registro: Seg Nov 24, 2008 3:32 pm
Mensagens: 6
Mensagem Re: Exercício
Minha solução:

Código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os

os.system('clear')

qtdAlunos = int(raw_input("Quantos alunos estão matriculados na sala? "))
i = 1
nomeAlunos = []
nota1 = []
nota2 = []
nota3 = []
nota4 = []
media = []
estadoAlunos = []
while i <= qtdAlunos:
        nomeAlunos.append(raw_input("%io. Aluno: " % i))
        i += 1
i = 0
while i < qtdAlunos:
        os.system('clear')
        print "Notas do aluno %s " % nomeAlunos[i]
        nota1.append(float(raw_input("Nota 1: ")))
        nota2.append(float(raw_input("Nota 2: ")))
        nota3.append(float(raw_input("Nota 3: ")))
        nota4.append(float(raw_input("Nota 4: ")))
        md = (nota1[i]+nota2[i]+nota3[i]+nota4[i])/4
        media.append(md)
        if media[i] > 6:
           estadoAlunos.append("Aprovado")
        else: estadoAlunos.append("Reprovado")
        i += 1
os.system('clear')
print("Relatório final da sala:")
i = 0
while i < qtdAlunos:
        print "%s - %0.2f - %0.2f - %0.2f - %0.2f - %0.2f - %s" %(nomeAlunos[i],nota1[i],nota2[i],nota3[i],nota4[i],media[i],estadoAlunos[i])
        i += 1


Ter Jan 20, 2009 6:08 pm
Perfil E-mail

Data de registro: Dom Dez 14, 2008 7:31 pm
Mensagens: 6
Mensagem Re: Exercício
bizachi escreveu:
Minha solução:

Código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os

os.system('clear')

qtdAlunos = int(raw_input("Quantos alunos estão matriculados na sala? "))
i = 1
nomeAlunos = []
nota1 = []
nota2 = []
nota3 = []
nota4 = []
media = []
estadoAlunos = []
while i <= qtdAlunos:
        nomeAlunos.append(raw_input("%io. Aluno: " % i))
        i += 1
i = 0
while i < qtdAlunos:
        os.system('clear')
        print "Notas do aluno %s " % nomeAlunos[i]
        nota1.append(float(raw_input("Nota 1: ")))
        nota2.append(float(raw_input("Nota 2: ")))
        nota3.append(float(raw_input("Nota 3: ")))
        nota4.append(float(raw_input("Nota 4: ")))
        md = (nota1[i]+nota2[i]+nota3[i]+nota4[i])/4
        media.append(md)
        if media[i] > 6:
           estadoAlunos.append("Aprovado")
        else: estadoAlunos.append("Reprovado")
        i += 1
os.system('clear')
print("Relatório final da sala:")
i = 0
while i < qtdAlunos:
        print "%s - %0.2f - %0.2f - %0.2f - %0.2f - %0.2f - %s" %(nomeAlunos[i],nota1[i],nota2[i],nota3[i],nota4[i],media[i],estadoAlunos[i])
        i += 1



que for testar esse exemplo no Windows tem que trocar o os.system('clear') por os.system('cls'), "frecuraiada" de plataforma.rs

abs


Ter Jan 20, 2009 7:50 pm
Perfil E-mail

Data de registro: Seg Dez 15, 2008 5:57 pm
Mensagens: 2
Mensagem Re: Exercício
Meus dois centavos...
Código:
# -*- coding: UTF-8 -*-
nAlunos=int(raw_input("Qual o número de alunos da sala? "))

nomeAluno=[]
nota=[[]]
for n in range(1,nAlunos+1):
    nomeAluno.append(raw_input("Qual o nome do aluno %d? "%n))
    for k in range(1,5):
        nota[n-1].append(int(raw_input("Qual a nota %d do aluno %d? "%(k,n))))
    nota.append([])

for n in nomeAluno:
    media=sum(nota[nomeAluno.index(n)])/4.
    sit={True:'Aprovado',False:'Reprovado'}
    print n,'-',nota[nomeAluno.index(n)],'-',media,'-',sit[media>=6.]


Qua Jan 21, 2009 3:23 pm
Perfil E-mail

Data de registro: Ter Dez 09, 2008 2:09 pm
Mensagens: 11
---------
Mensagem Re: Exercício
Só não consegui formatar a saida...

Código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Python 2.6

'''
1) Sala de aula: Faça um programa que pergunte o número de alunos
em uma sala de aula, depois pergunte o nome de cada um, após isso
ele deve pedir 4 notas de cada aluno e fazer a média entre elas,
se a média for maior que 6 o aluno está aprovado, senão reprova.
No fim deve ser exibida uma tabela assim:
Nome do aluno - nota1, nota2, nota3, nota4 - media - aprovado/reprovado
'''

print('\n\nVerificador de aprovações/reprovações dos alunos\n\n')
n_alunos = int(raw_input('Quantos alunos possuem na sala de aula? ' ))
nomes_alunos = []
nota1 = []
nota2 = []
nota3 = []
nota4 = []
media = []
apr_rep = []
cont = 0
print('\n\n')
while cont < n_alunos:
    nomes_alunos.append(str(raw_input('Coloque o nome do(a) aluno(a) ')))
    nota1.append(float(raw_input('Coloque a 1a nota de %s ' % nomes_alunos[cont])))
    nota2.append(float(raw_input('Coloque a 2a nota de %s ' % nomes_alunos[cont])))
    nota3.append(float(raw_input('Coloque a 3a nota de %s ' % nomes_alunos[cont])))
    nota4.append(float(raw_input('Coloque a 4a nota de %s ' % nomes_alunos[cont])))
    media.append((nota1[cont] + nota2[cont] + nota3[cont] + nota4[cont])/4)
    if media[cont] >= 6. :
        apr_rep.append('aprovado(a)')
    else:
        apr_rep.append('reprovado(a)')

    cont += 1
    print('\n')

print ('Aluno(a)- Nota1, Nota2, Nota3, Nota4 - Media - aprovado(a)/reprovado(a)\n' )

for i in range(0, n_alunos):
    print ('%s - %.2f , %.2f , %.2f , %.2f - %.2f - %s' %(nomes_alunos[i],
                                                                nota1[i], nota2[i],
                                                                nota3[i], nota4[i],
                                                                media[i], apr_rep[i]))



Obs. :cry: é duro, testei várias vezes o programa e saiu uma coisa errada, no arquivo que mandei está "Vericador de aprovações/reprovações dos alunos"
O certo é Verificador


Sáb Jan 24, 2009 8:26 pm
Perfil E-mail
Mostrar mensagens anteriores:  Organizar por  
Criar novo tópico Responder Tópico  [ 16 Mensagens ]  Ir para a página 1, 2  Próximo


Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 0 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:
Ir para:  
cron

Fazer Forum · phpBB© · Internationalization Project · Reportar abuso · Termos De Uso/Política De Privacidade
© Forums-Free.com 2009