Ir ao conteúdo
  • Cadastre-se

Felipe2719

Membro Pleno
  • Posts

    144
  • Cadastrado em

  • Última visita

Tudo que Felipe2719 postou

  1. tá dizendo assim ?? ainda n entendi como faço p pegar o resto return int(binario[0])*2**(len(binario)-1)
  2. to com dificuldade em desenvolver esse exercício. como posso resolver essa questão sem passar um contador pra potência ?? esses exercícios de recursão bugam demais a minha mente :s def questao(binario): if binario == 0: return 0 else: return binario[0]*2**? + questao(binario[1:])*2**?
  3. já fiz outros 2 exercícios de recursão mas esse não to sabendo nem começar :c se alguém puder me dar uma luz eu agradeço
  4. @ederlap Até funciona, mas a questão pede pra eu utilizar o Raise levantando o Value Error... tem alguma ideia do que eu possa fazer ?
  5. def programa(): while True: try: nome_produto = input('Digite o nome do produto:') preco = input('Digite o preco desse produto:') preco = float(preco) if preco<0 or preco>100: raise ValueError quantidade = input('Digite a quantidade do produto:') quantidade = int(quantidade) if quantidade<0 or quantidade>1000: raise Exception except KeyboardInterrupt: print('Encerrando o programa...') return -1 except ValueError: print('Valor invalido, digite um valor maior que 0 e menor que 100') except: print('Valor invalido, digite um valor inteiro entre 0 e 1000') else: lista = [nome_produto,preco,quantidade] return lista Como eu faço pro programa repetir a interação até que a resposta seja correta ? porque quando digito um valor invalido pro preço ou pra quantidade, simplesmente o programa reinicia pedindo tudo de novo ao invés de repetir só aquela parte. Desde já agradeço
  6. def questao(arquivo): arq = open(arquivo,'r') linha = arq.readline() for linha in arq: print(linha) try: temperatura = float(linha) raise ValueError except FileNotFoundError: print('Esse arquivo não existe') return -1 except ValueError: print('A linha não pode ser convertida para float') else: return temperatura arq.readline() arq.close() pensei nisso mas não funciona.
  7. @Midori eu editei com o pos+=1, tinha esquecido de por ele aqui. agr funcionou. obrigado !!
  8. @Midori def questao(lista1,lista2): medias = [] media = 0 pos = 0 while pos<len(lista1): try: media = (lista1[pos]+lista2[pos])/2 medias.append(media) pos+=1 except TypeError: return -1 except IndexError: break else: return medias print(questao([1,2,3],[3,4,5])) o valor de retorno pra essas entradas no caso é [2.0 , 3.0, 4.0]
  9. @Midori while pos<len(lista1): try: media = (lista1[pos]+lista2[pos])/2 medias.append(media) pos+=1 ... desse jeito ? ele continua retornando apenas a media da pos0 dos dois em relação ao loop eu realmente viajei, pensei que o try era outra espécie de laço de repetição
  10. então pra eu interromper o laço de repetição como a questão diz, eu devo só repetir o return medias por ex no lugar no break? ou eu tenho que acrescentar um for ou um while antes ? não entendi como esse try funciona direito gostaria de saber tb como faço p pegar mais uma media separada por vírgulas. no meu caso tá pegando só a média da pos0 das duas listas. Eu esqueci como fazer isso
  11. def questao2(lista1,lista2): medias = [] media = 0 pos = 0 try: media = (lista1[pos]+lista2[pos])/2 medias.append(media) pos+=1 except TypeError: return -1 except IndexError: break else: return medias ta dando erro ''break outside loop' gostaria de tb saber se meu código ta fazendo sentido
  12. @Midori Muuuiiito obrigado pela trigésima vez !!! quando você corrige eu me sinto burro por não ter pensado nisso
  13. 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
  14. 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
  15. @Midori Novamente muito obrigado pela paciência. Consegui terminar o código toda vez que eu quiser acessar uma posição e o arquivo estiver separado por vírgulas, esse linha.split(',') vai servir. né ? Obrigado. Não entendi esse pos = 2 e o pos+=2 no final. eu coloquei 0 e pos+=1 como você botou antes e retornou td certo
  16. @Midori eu cheguei a fazer isso mas não dá certo porque a posição da nota varia de acordo com a disciplina dada por argumento. com esse float(linha.split(',')[3] só daria certo pra primeira matéria, que fica na posição 2. nota = float(linha.split(',')[codigo]+1)) teria que ser a posição do código + 1, mas eu sei que isso que eu fiz não daria certo kkkk
  17. @Midori Era isso mesmo, obrigado. Eu tinha visto esse método split mas não tinha entendido como funcionava direito. Agr to com dificuldade em pegar somente os DRE dos alunos que tiraram notas iguais ou maiores que 5 nessa disciplina dada por argumento. A nota vem logo em seguida da disciplina no arquivo . Se puder me ajudar de novo meu código por enquanto ficou assim def questao(arquivo,codigo): Arq = open(arquivo,'r') linha = Arq.readline() lista = [] while linha!='': if codigo in linha: dre = linha.split(',')[1] lista.append(dre) linha = Arq.readline() Arq.close() return lista
  18. @Midori eu quero o conteúdo do dre mesmo só que n to sabendo chamar a posição da string. se eu faço lista[1] ele me retorna a segunda letra da primeira string (como você disse) ao invés de retornar a segunda string, que é uma sequencia de números(dre)
  19. def questao(arquivo,codigo): Arq = open(arquivo,'r') linha = Arq.readline() dre = linha[1] lista [] while linha!='': if codigo in linha: lista.append(dre) linha = Arq.readline() Arq.close() return lista @Midori agora ele tá retornando a quantidade certa, porém ainda n entendi porque ele ta pegando o 2 elemento ao invés de pegar a string inteira ['e','e','e','e','e',]
  20. @Matheus Coutinho de Souza Coloquei como concluído no próprio enunciado do tópico. Eu acabei conseguindo resolver sozinho...
  21. o Arquivo tá no formato Nome, Numero do DRE, Código da disciplina, nota, código da disciplina, nota e assim por diante. Cada linha contendo essas informações sobre cada aluno eu fiz dessa forma : def questao(arquivo,codigo): Arq = open(arquivo,'r') linha = Arq.readline() dre = [1] lista = [] while linha!='': if codigo in linha: Arq.close() lista.append(dre) return lista linha = Arq.readline() Arq.close() print(questao('alunos.txt','MAB114')) pensei que esse dre[1] ia me retornar ao numero do dre completo, mas ele tá retornando a segunda letra da primeira string :x
  22. Já consegui resolver sozinho, esquece esse tópico haha
  23. não consegui entender muito bem as aulas sobre arquivos e estou com dificuldade até nos exercícios mais simples. def questao(arquivo,dre): arq = open(arquivo,'r') linha = arq.readline() for linha in arq: if dre in linha: return linha else: return '' arq.close() print(questao('alunos.txt','31585197')) com essa entrada, deveria retornar a linha completa que tem esse DRE junto com as outras informações.. porém tá retornando a uma string vazia
  24. @Midoricomo o primeiro if tava verifiando se o produto tava no dicionário, achei que o próximo if seria tb dentro do dicionário. Cheguei a fazer esse primeiro if (preco[pos]>di[p]: mas achei que não fazia mt sentido kkkk enfim, agora ficou claro. Muito Obrigado

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!