Ir ao conteúdo

Python desenvolvimento exercício de arquivos


Ir à solução Resolvido por Midori,

Posts recomendados

Postado

1481914769_ex4lista7.png.87b0772693a1170e76fb1e2036e45294.png

def questao (arquivo,dre,dic):
  arq = open(arquivo,'r')
  soma = 0
  nota = 0
      
  for linha in arq:
    if dre in linha:
      L = linha.split(',')
      pos = 0
      while pos<len(L):
        if L[pos] == dre:
          nota = float(L[pos+2])
          for creditos in dic:
            soma+= nota*creditos/creditos
        pos+= 2
    linha = arq.readline()
  arq.close()
  return soma
   
    
    
    
    
                  
                       
      
      

 imaginei dessa forma. Primeiro for pra pegar as linhas, o while pra pegar as notas e o ultimo for pra fazer a soma.

eu sei que tá errado porque ta retornando a zero mas se alguém puder me ajudar a entender melhor a questão eu agradeço

 

 

Postado
def questao(arquivo,dre,dic):
  arq = open(arquivo,'r')
  linha = arq.readline()
  soma = 0
  CRA = 0
  
  while linha!='':
    if dre in linha:
      L = linha.split(',')
      pos = 2
      notas = 0
      for codigos in dic:
        if codigos in L:
          soma+=dic[codigos]
          notas = float(L[pos+1])
          creditos = dic[codigos]
          CRA+= notas*creditos
        pos+=2
    linha = arq.readline()
  arq.close()
  return CRA/soma
    
  

 

corrigi bastante coisa no meu código, mas ele ainda não tá dando certo pra maioria das entradas 😫

 

  • Solução
Postado

@Felipe2719 Em vez de fazer o loop no dicionário, faça na lista das disciplinas, assim para as posição da disciplina na lista é só passar isso como chave do dicionário para pegar o peso. Da forma que fez está testando se o código está na lista e apenas pegando a nota na sequencia sem saber se é a disciplina correta.

 

pos = 2
notas = 0
while pos < len(L):
    if L[pos] in dic:
        creditos = dic[L[pos]]
        soma += creditos
        notas = float(L[pos + 1])
        CRA += notas * creditos
    pos += 2

 

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!