To fazendo lá no site mas vim só pra solidarizar com quem não conseguiu: Eu achei muito difícil, e NÃO consegui também. Não se impressione com tantos sucessos. O mundo é cheio de histórias de derrota. Só nunca ouvimos.
Rapaziada, consegui de primeira!! E isso é uma conquista enorme pra mim, pois passei quase 1 semana resolvendo o problema dos parênteses do módulo anterior (me recuso a olhar a resolução sem ter resolvido o problema). Minha recomendação pra quem tá tendo dificuldade: não olha resolução, fique dias olhando pra parede e pensando em como se resolve determinado exercício, mas não olhe a resolução, isso vai treinar teu cérebro para problemas cada vez mais complexos. Vamo pra cima !!!
Eu discordo, na verdade voce perdeu uma semana tentando resolver o problema, se tivesse visto antes, veria as formas de como resolver a questão, e poderia refaze-lo, adicionando mais coisas e consequentimente fixando melhor, voce poderia fazer em 1 dia, e deixaria os outros 6 para aprender outras funcionalidades, mas voce quem sabe.
@@deivid97098 e quando surgir algum tipo de problema q n tem resolução prontinha no yt ou stack overflow? Entendo teu ponto, mas no mercado de tecnologia tu tem q ter versatilidade e saber entregar independentemente de ter resoluções ou funções que já fazem o trampo. Quando tem, muito bom, economiza tempo e vc foca no que importa, mas sinto que quem sempre depende de código alheio esquece de afiar a própria lógica
Concordo com o que fez, pois seu cérebro fez importantes conexões neurais que vão servir de atalho pra qualquer outro desafio de python. Se vc tem esse tempo disponível vc fez o certo. Se fosse logo atrás das dicas vc aprenderia menos a como pensar em python, que é o maior objetivo dis exercícios.
#DICA Descobri que dá pra usar o for da mesma forma que quando usa o enumerate(), por exemplo: #feito no vídeo: for p in princ: if p[1] == men: print(f'[{p[0]}]', end=' ') #dá pra fazer assim também: for nome, peso in princ: if peso == men: print(nome, end=' ') Como cada item de princ tem dois valores, o primeiro valor vai pra 'nome' e o segundo, pra 'peso'
No começo do curso eu entrei nesse vídeo só pra xeretar e vi esse monte de códigos e cheguei a questionar se um dia eu entenderia o que significa, hoje vim ver essa solução de exercício pra ver se a minha lógica tinha ficado muito diferente da do professor e percebi que usei exatamente a mesma lógica que ele, alguns comandos diferentes, mas com a mesma lógica. Obrigado pelos ensinamentos, Gustavo, vc tem sido meu maior companheiro nos últimos 3 meses. #Desafio 84 -Aula 18 pessoas = list() dados = list() maior = menor = 0 while True: dados.append(str(input('Digite seu nome: ').strip().capitalize())) dados.append(int(input('Digite seu peso: '))) if not pessoas: maior = menor = dados[1] pessoas.append(dados[:]) for valor in pessoas: if valor[1] > maior: maior = valor[1] elif valor[1] < menor: menor = valor[1] dados.clear() resp = '' while not resp or resp not in 'SsNn': resp = str(input('Deseja continuar? [S/N]: ')).strip().upper() if not resp or resp not in 'SsNn': print('Opção inválida!') else: break if resp in 'Nn': break print(f'Foram cadastradas {len(pessoas)} pessoas.') print(f'O maior peso registrado foi: {maior}Kg.') print(f'As pessoas mais pesadas foram:', end=' ') for valor in pessoas: if valor[1] >= maior: print(valor[0], end='. ') print(f' O menor peso registrado foi: {menor}Kg.') print(f'As pessoas mais leves foram:', end=' ') for valor in pessoas: if valor[1]
pqp...ia comentar praticamente a mesma coisa.. kk pessoas = [] dados = [] cont = maior = menor = 0 while True: pessoas.append(str(input('Nome: ').strip().capitalize())) pessoas.append(float(input('Peso: '))) dados.append(pessoas[:]) if cont == 0: maior = menor = pessoas[1] else: if pessoas[1] > maior: maior = pessoas[1] if pessoas[1] < menor: menor = pessoas[1] pessoas.clear() continuar = ' ' while continuar not in 'sn': continuar = str(input('Quer continuar? [S/N]')).strip().lower() if continuar == 'n': print('Obrigado por trabalhar conosco.') break cont += 1 print(f' {dados}') print(f'Foram inseridos os dados de {len(dados)} pessoas') print(f'Os mais pesados, acima de {maior} Kg , são: ', end='') for d in dados: if d[1] >= maior: print(f'{d[0]}') print(f'Os mais leves, abaixo de {menor}Kg são: ', end='') for d in dados: if d[1]
Estudando hoje dia 12/09/22 o exercicio 084, estou com alguma dificuldade, mas nada que assistindo algumas vezes a mais não sane as dúvidas. Citando os comentários abaixo, suas aulas são excelentes.
Tu é foda pra caralho, irmão... Comecei curso de ciência de dado em cima de python faz algum tempo, e todas as dúvidas que tenho eu consigo encontrar o caminho assistindo teus videos... Parabéns pelo trabalho e pelo conhecimento que você compartilha!
Comecei o meu contato com programação em Setembro do ano passado (2021) em uma escola técnica aqui na Espanha, apanhei muito, até que desisti... fiquei durante alguns meses sem ao menos olhar um código, fiquei traumatizada. Voltei faz pouco tempo, fiz outros cursos do canal (principalmente programação Básica) e isso me ajudou a entender muito as famosas Arrays (listas). Um monstro se tornou um bichinho tão pequenininho. Confesso que foi bem entediante começar do zero, mais está valendo a pena. Estou conseguindo resolver tranquilamente todos os exercícios... Obrigada Guanabara, você é o melhor!!! #Minha solução: dados = list() pessoas = [] pessoasPesadas = [] pessoasLeves = [] leve = pesado = 0 while True: dados.append(str(input('Nome: '))) dados.append(float(input('Peso: '))) pessoas.append(dados[:]) dados.clear() res = str(input('Deseja continuar [S/N}? : ')) if res in 'Nn': break for pes in pessoas : if leve == 0 and pesado == 0: leve = pesado = pes[1] if pes[1] > pesado: pesado = pes[1] elif pes [1]
Eu estava chegando bem, mais começou a dar um nó. Não sei se é impressão minha, mais notei que o mundo um e dois foram mais didáticos no que tange os exercícios. OBS: não estou falando de facilidade, parece que faltou algo para conseguir "linkar "a aprendizagem. Não sou leigo no assunto mais tive dificuldades, Python é novo para mim, antes eu lidava com C/C++, Java e achei o python bem mais poderoso e mais prático. Parabéns a quem conseguiu....
Eu resolvi com 5 linhas a mais do que o professor, mas é bem satisfatório quando se consegue resolver antes de assistir a solução, isso me mostra minhas falencias na hora de ordenar os códigos para não ser repetitivo neles e ser mais logico nos exercícios futuros. nao desanimem!
Muito feliz em ter chegado à solução desse desafio! maior: pesados.clear() maior = pessoa[1] pesados.append(pessoa) elif pessoa[1] == maior: pesados.append(pessoa) print(f'O maior peso foi {maior} kg. Peso de: ', end='') for c in pesados: print('', c[0], end='') print() menor = maior for pessoa in cadastro: if pessoa == 0: menor = pessoa[1] leves.append(pessoas) else: if menor > pessoa[1]: leves.clear() menor = pessoa[1] leves.append(pessoa) elif pessoa[1] == menor: leves.append(pessoa) print(f'O menor peso foi de {menor} kg. Peso de:', end='') for c in leves: print('', c[0], end='')Por favor... digam o que posso melhorar!
eu precisei olha o conceito e depois que vi fui fazendo de cabeça e entendendo o conceito por completo sem precisa olha o video pela 2° vez super recomendo usa esse metodo quando vc tiver muita dificuldade.
Abaixo deixo uma solução mais compacta do desafio. Uma outra maneira de achar rapidamente o maior e menor peso de uma pessoa seria ordenar a lista composta com base no peso. Para isso utilizei o método sorted, e ordenei em descrescente (reverse=True). O primeiro elemento dessa lista será a pessoa mais pesada e o último, será a pessoa mais leve. pessoas = [] while True: nome = input('Nome da pessoa: ') peso = float(input('Informe o peso em KG: ')) pessoas.append([nome,peso]) continua = input('Quer continuar? [S/N] ') if continua in 'nN': break peso_descrescente = sorted(pessoas, key=lambda p: p[1], reverse=True) maior_peso, menor_peso = peso_descrescente[0][1], peso_descrescente[-1][1] lista_maior_p = [pessoa[0] for pessoa in pessoas if pessoa[1] == maior_peso] lista_menor_p = [pessoa[0] for pessoa in pessoas if pessoa[1] == menor_peso] print('-='*25) print(f'Foram cadastradas {len(pessoas)} pessoas') print(f'O maior peso foi de {maior_peso} kg. Peso de {lista_maior_p}') print(f'O menor peso foi de {menor_peso} kg. Peso de {lista_menor_p}')
Uma coisa super bacana na programação é sempre ver que há formas mais inteligentes/reduzidas que a sua e isso é demais. Obrigado prof por compartilhar e obrigado a todos que compartilham seus códigos nos comentários... aprendemos com ambos!! Meu código ficou da seguinte forma, com 29 linhas: user = [] #lista para inserir nome e peso todos =[] #lista total p = 0 #quantidade de pessoas resp='' #resposta para continuar/interromper conv =[] #lista criada para alterar a posição entre 'nome' e 'peso' listaPesoTemp=[] #lista total com peso na posição 0, para uso da funç. sort() while resp != 'n': user.append(str(input('Digite o seu nome: ')).title()) user.append(float(input('Digite o seu peso: '))) todos.append(user[:]) #[:] copia os dados da lista user [nome, peso] p+=1 #contagem de pessoas user.clear() #limpar lista user para preenchimento posterior resp = str(input('Deseja continuar: [S/N]')).lower() while resp != 'n' and resp !='s': print ('Resposta inválida.') resp = str(input('Deseja continuar: [S/N]')).lower() print (f'A quantidade de pessoas \033[42mcadastradas\033[m foi: {p}x pessoas') print('--'*30) print ('A lista é:', todos) print('--'*30) for p in todos: conv =[p[1], p[0]] listaPesoTemp.append(conv[:]) conv.clear() listaPesoTemp.sort(reverse=True) print('As pessoas mais \033[7mPESADAS\033[m são:') tamanhoListaPeso = int(input('Quantoas pessoas deseja verificar: ')) while tamanhoListaPeso > len(listaPesoTemp): print('Você digitou uma quantidade maior do que a lista toda.') print(f'Digite um número entre 1 e {len(listaPesoTemp)}') tamanhoListaPeso = int(input('Quantoas pessoas deseja verificar: ')) for q in listaPesoTemp[0:tamanhoListaPeso]: print (f'{q[1]} com {q[0]:.2f} kg') listaPesoTemp.sort() print('--'*30) print ('As pessoas mais \033[7mLEVES\033[m são: ') tamanhoListaPeso = int(input('Quantoas pessoas deseja verificar: ')) while tamanhoListaPeso > len(listaPesoTemp): print('Você digitou uma quantidade maior do que a lista toda.') print(f'Digite um número entre 1 e {len(listaPesoTemp)}') tamanhoListaPeso = int(input('Quantoas pessoas deseja verificar: ')) for q1 in listaPesoTemp[0:tamanhoListaPeso]: print (f'{q1[1]} com {q1[0]:.2f} kg')
Aulas muito boas mesmo!!! Show de bola!!! Para quem usa o Jupter Notbook, da para fazer do mesmo jeito!! Querendo usar dataframe, sei que fica um pouco mais avançado. mas da para fazer igual. Só lembrar de colocar na primeira linha -> import pandas as pd.
Cara sou muito fã do seu canal, estou fazendo seu curso de java pelo site e estou adorando! Curso, conteúdo, vídeos e tudo que produz em uma qualidade altíssima! Muito bom! Continue assim! Abraço Vicenzo.
Esse desafio foi difícil, fritei meus neurônios para conseguir resolver e consegui!!! Estou muito feliz com isso, principalmente pq a minha linha de pensamento foi muito parecida com o do professor, a maior diferença foi que eu usei um 'for' para definir o maior e menor peso em vez de usar um 'if' ainda lá dentro do 'while True'. Em todos os desafios eu to tentando usar TUDO que o Guanabara já ensinou e sempre uso código de cor. Meu código: pessoas = list() dados = list() maior = menor = 0 while True: dados.append(str(input('\033[1;97mNOME: '))) dados.append(float(input('PESO (KG): '))) pessoas.append(dados[:]) dados.clear() continuar = input('Que continuar [S/N]? ').strip().upper() while continuar != 'S' and continuar != 'N': print('RESPOSTA INVÁLIDA') continuar = input('Que continuar [S/N]? ').strip().upper() print(30 * '-=') if continuar == 'N': break for pessoa in pessoas: if pessoa == pessoas[0]: maior = menor = pessoa[1] if pessoa[1] > maior: maior = pessoa[1] elif pessoa[1] < menor: menor = pessoa[1] print(f'\033[1;32mPessoas cadastradas: \033[1;97m{len(pessoas)}') print(f'\033[1;34mMaior peso: \033[1;97m{maior:.1f} Kg \033[1;34mPessoas mais pesada: ', end='') for pessoa in pessoas: if maior in pessoa: print(f'\033[1;97m[{pessoa[0]}]', end=' ') print(f' \033[1;33mMenor peso: \033[1;97m{menor:.1f} Kg \033[1;33mPessoas mais leves: ', end='') for pessoa in pessoas: if menor in pessoa: print(f'\033[1;97m[{pessoa[0]}]', end=' ')
Eu interpretei o exercício de um modo diferente quando li, mas apliquei os conceitos da aula e ficou bem legal tbm! Ficou assim: dados=list() cadastros=list() dlev=list() dpes=list() lev=list() pes=list() som=0 while True: nome=str(input('NOME: ')).upper().strip() dados.append(nome) massa=float(input('MASSA(Kg): ')) som+=massa dados.append(massa) cadastros.append(dados[:]) dados.clear() med=som/len(cadastros) if massa>=med: dpes.append(massa) dpes.append(nome) pes.append(dpes[:]) if massa
Top demais.. acabei criando 2 listas de menor e maior com os nomes dos maiores e menores... poucas linhas a mais de codigo porem consegui fazer até bem! as vezes eu esqueço o basico e coloco uma dificuldade maior kkkkkkk
Nem acredito, que por mais que não seja muita coisa acredito eu, consegui chegar até aqui em menos de 1 mês, sem nunca estudar nada de programação, estudando todo dia, o máximo que consigo! Obrigado Gustavo!!! Minha resolução para este exercicio: pessoas = list() dados = list() maior = menor = 0 cont = 0 print("=" * 50) while True: dados.append(str(input("Nome: "))) dados.append(float(input("Peso: "))) if len(pessoas) == 0: maior = menor = dados[1] else: if dados[1] > maior: maior = dados[1] if dados[1] < menor: menor = dados[1] pessoas.append(dados[:]) cont += 1 dados.clear() resp = str(input("Quer continuar? [S/N] ")).upper().strip()[0] while resp not in "SN": print("Opção inválida! Tente novamente.") resp = str(input("Quer continuar? [S/N] ")).upper().strip()[0] if resp == "N": break print("=" * 50) print(f"Você cadastrou {cont} pessoas.") print(f"O maior peso foi de {maior:.2f}Kg. Peso de ", end='') for p in pessoas: if p[1] == maior: print(f"[{p[0]}]", end=' ') print() print(f"O menor peso foi de {menor:.2f}Kg. Peso de ", end='') for p in pessoas: if p[1] == menor: print(f"[{p[0]}]", end=' ') print("=" * 50)
Não sei se muitos aqui utilizam, mas recomendo aderir .capitalize() no comando str(input). Assim você não precisa escrever o nome corretamente com apenas a primeira letra maiúscula já que o programa arruma, pois vejo que o professor Guanabara não informa esse detalhe nos exercícios.
Muito bom... Quebrei a cabeça dois dias... Fiz sort()(colocando o peso antes do nome na lista principal), tentei procurar com o index()... Isso tudo porque não tinha entendido direito como ia me referir ao segundo elemento da lista aninhada... Tsc tsc tsc...
#Esse e meu Código, Estar bem explicativo ... #Todas as listas globais dados = list() pessoas = list() peso_total = list() pessoas_maior_peso = list() pessoas_menor_peso = list() #Dados inseridos pelo usuário while True: dados.append(str(input('Nome: ')).strip().capitalize()) dados.append(float(input('Peso: '))) pessoas.append(dados[:]) dados.clear() while True: proximo = str(input('Quer continuar? (S/N):')).strip().upper() if proximo in 'SN': break if proximo == 'N': break #Separando todos os pesos na lista > peso_total for peso in pessoas: peso_total.append(peso[1]) #Checando o peso máximo e mínimo maior_peso = max(peso_total) menor_peso = min(peso_total) #Identificando os respectivos nomes de peso Max/Min for pes in pessoas: if pes[1] == maior_peso: # if True: Nome, peso > Max pessoas_maior_peso.append(pes[0]) if pes[1] == menor_peso: #if True: Nome, peso > Min pessoas_menor_peso.append(pes[0]) print(f'{"=-"*20} Ao todo, você cadastrou {len(pessoas)} pessoa{"s" if len(pessoas) > 1 else ""}.') print(f'O maior peso foi de {maior_peso}Kg. Peso de {pessoas_maior_peso}') print(f'O menor peso foi de {menor_peso}Kg. Peso de {pessoas_menor_peso}')
Cara..Seu Canal e Muito Top... Graças A Vc Eu Tô Fazendo A base De Um Site....Ainda Tô Assistindo As Aulas De HTML5 e CSS3....Mais quero Logo Vim Pras Aulas De Python...
Professor Guanabara, muito obrigado pelo seu comprometimento, dedicação e disposição em nos ensinar com tanta clareza. Seu compromisso com a educação com certeza está produzindo muitos frutos de sucesso. Parabéns... Que Deus continue te abençoando grandemente. Aí vai o meu código: lista = list() dados = list() cont = 0 mais_pesada = menos_pesada = 0 while True: dados.append(str(input('Nome: '))) dados.append(float(input('Peso: '))) if len(lista) == 0: mais_pesada = menos_pesada = dados[1] lista.append(dados[:]) dados.clear() cont += 1 for n in lista: if n[1] > mais_pesada: mais_pesada = n[1] else: if n[1] < menos_pesada: menos_pesada = n[1] r = str(input('Quer continuar? S/N: ')).strip().lower() while r not in 's' and r not in 'n' or r == '': r = str(input('Quer continuar? S/N: ')).strip().lower() if r in 'n': break print(f'Ao todo você cadastrou {cont} pessoa(s).') print(f'O maior peso foi de {mais_pesada}Kg. Peso de ', end='') for nome in lista: if nome[1] == mais_pesada: print(f'{[nome[0]]}', end=' ') print(f' O menor peso foi de {menos_pesada}Kg. Peso de ', end='') for nome in lista: if nome[1] == menos_pesada: print(f'{[nome[0]]}', end=' ')
elif pessoas_grupo[c][1] == peso_menor: pessoas_peso[1].append(pessoas_grupo[c]) print(f'Foi adicionado \033[32m{contagem_pessoas}\033[m usuários no sistema.') print('As pessoas mais leves são:') for c in range(0,len(pessoas_peso[1])): print(pessoas_peso[1][c][0], end='...') print(' As pessoas mais pesadas são:') for c in range(0,len(pessoas_peso[0])): print(pessoas_peso[0][c][0], end='...')
Eu acho que esses END="" me confunde muito, pra mim seria melhor imprimir tudo numa linha já que uma faz a continuação da outra. Tentei e tentei fazer sozinho, não consegui e tive que ver a resolução. NÃO VOU DESISTIR!
@@jimmy3598 Eu até entendi a primeira parte, eu esperava que ele fosse utilizar max e min na hora de identificar os mais pesados e os mais leves, mas n foi o que ocorreu.
Gente, sei que é foda, mas tentem não desanimar quando der bug na cabeça. Tente...tente...tente... quando realmente ver que não consegue, assista aula novamente, tenta fazer exercícios anteriores novamente ou até deixa para o dia seguinte. A frustração é o pior inimigo nessas horas, mas não dá é pra desistir. Eu tive dificuldade no Ex. 89.. Cansei, deixei para o dia seguinte. Só foi a cabeça esfriar que, mesmo sem estar na frente do PC, consegui formar a lógica quando tava deitado de boa no sofá, de cabeça descansada rsrs.
@@LucaTake Comigo tem acontecido a mesma coisa. Fico quebrando a cabeça em alguns exercícios. Quando vejo que não consigo perceber onde estou errando e não consigo evoluir, desligo o computador e deixo pro outro dia. E é isto que tem me ajudado a resolver as sulas sozinho, pq no outro dia eu abro o PyCharm e consigo resolver de boas. O negócio é descansar a cabeça quando for necessário e não desistir.
Exercicio não é dificil, mas é bem maior que os outros, dá dor de cabeça. Foi o primeiro exercicio que demorei um bom tempo pra fazer. Foi um total de 2 horas pra acertar tudo. Eu por algum motivo queria que aparecesse todos os valores iguais de maior e menor peso, por isso fui tentando criar novas listas... Mas deu certo.
sim, criei 5 listas, funcionou e estou feliz, mesmo que tenha refeito o exercício e ele tenha ficado bem mais clean na minha segunda resolução data = list() read = list() weight = list() fatter = list() thinner = list() while True: read.append(input("Nome: ")) read.append(float(input("Peso: "))) data.append(read[:]) weight.append(read[1]) read.clear() choice = input("Deseja continuar? [S/N]").strip().upper() while choice not in "SN": choice = input("Tente novamente. Deseja continuar? [S/N]").strip().upper() if choice == "N": break weight.sort() print(f"Foram cadastradas {len(data)} pessoas") for p in data: if weight[0] == p[1]: thinner.append(p[0]) elif weight[len(weight) - 1] == p[1]: fatter.append(p[0]) print(f"O maior peso foi de {weight[len(weight) - 1]}Kg. Peso de {fatter}") print(f"O menor peso foi de {weight[0]}Kg. Peso de {thinner}")
O Professor Gustavo depois que o curso de Python estiver acabado voce poderia fazer uma lista de alguns programas para nos desenvolvermos como se fosse para alguma empresa para nos termos uma base e ganhar experiencia na pratica como desafios exemplo cria um programa para registro de mercado, tocador de musica, alguns mas so para nos fazer por conta propiá para adquirir experiencia
Man, como os cursos q ele da aqui no canal é básico e meio q introdutório, acredito q ainda falta MT coisa pra se aprender, pra poder desenvolver um software bem otimizado, pq imagina ter q desenvolver um software com apenas oq foi aprendido aqui, vc usaria várias linhas de comando para chegar a um resultado(e se chegar), porém quando vc aprende uma linguagem de programação, vc consegue criar programas otimizados (com menos linhas de comando e "sem falhas") entende? Mas claro q seria super show se ele deixasse uns programas mais complexos para q a gente se desafiasse a recriar com base no q foi ensinado nas aulas.
# Exercício 084 - Lista Composta e Análise de Dados pessoas = [] while True: nome = input('Nome: ') peso = float(input('Peso: ')) pessoas.append([nome, peso]) if input('Quer continuar? [S/N] ') not in 'sS': break print(30 * '-=') print(f'Ao todo, você cadastrou {len(pessoas)} pessoas.') maior_peso = max([p for n, p in pessoas]) print(f'O maior peso foi de {maior_peso:.1f}Kg. ', end='') print(f'Peso de {[n for n, p in pessoas if p == maior_peso]}') menor_peso = min([p for n, p in pessoas]) print(f'O menor peso foi de {menor_peso:.1f}Kg. ', end='') print(f'Peso de {[n for n, p in pessoas if p == menor_peso]}')
Sobre este desafio, a seguinte frase do Guanabara no minuto 16:39 foi um alento pra mim: "Isso daqui é relativamente difícil pra uma pessoa que está começando em programação"
Nem acredito mas consegui resolver esse exercício relativamente de boa, parece que o meu esforço nos exercícios de lista 1 me ajudaram muito a desenvolver a logica =)
Eu fiz um pouco diferente do exercício, criei delimitadores para maior(100kg) e menor(70kg.) Viajei legal, mas tá aí a resolução. dados = [] pessoas = [] pesados = [] leves = [] while True: pessoas.append(str(input('Nome: '))) pessoas.append(int(input('Peso: '))) dados.append(pessoas.copy()) if pessoas[1] >= 100: pesados.append(pessoas[0]) elif pessoas[1]
Fiz duas soluções com apenas 17 linhas cada: 1ª: pessoas, pesados, leves = [], [], [] while True: pessoas.append([input(' Nome: '), float(input('Peso em KG: '))][::-1]) res = '' while not res or res not in 'SN': res = input('Quer continuar? [S/N] ').strip().upper() if res == 'N': break for dado in pessoas: if dado[0] == max(pessoas)[0]: pesados.append(dado[1]) if dado[0] == min(pessoas)[0]: leves.append(dado[1]) print('=-' * 16, f'Quantidade de pessoas cadastradas: {len(pessoas)};', sep=' ') print(f'Maior peso foi {max(pessoas)[0]:.2f}KG. Peso de {pesados}') print(f'Menor peso foi de {min(pessoas)[0]:.2f}KG. Peso de {leves}.') 2ª: cadastros = [] mai = men = 0 while True: cadastros.append([input(' Nome: '), float(input('Peso: '))][::-1]) res = '' while res == '' or res[0] not in 'SN': res = input('Quer continuar? [S/N] ').strip().upper() if res[0] == 'N': break print(f' Cadastro(s): {len(cadastros)}.') for m in [['Maior', max(cadastros)[0]], ['Menor', min(cadastros)[0]]]: print(f' {m[0]} peso: {m[1]}Kg. Peso de', end=' ') for dado in cadastros: if dado[0] == m[1]: print(f'[{dado[1]}]', end=' ') print()
pessoas.append([input(' Nome: '), float(input('Peso em KG: '))][::-1]) qual a explicação desse "[::-1]" vi que não funciona sem ele. Eu quebrei a cabeça e não descobri até ver seu exercicio o uso do [0] no max e min. eu sempre olho a resposta dos outros que sempre aprendo algum macete. obrigado!
Que orgulho, primeira vez que consegui fazer um código menor que o do prof. Guanabara. Pelo menos aqui saiu tudo certo, não vi nenhum retorno errado. 🙏 lista = [] pessoa = [] maior = [] menor = [] while True: pessoa = [input('Nome: '), float(input('Peso: '))] lista.append(pessoa) r = input('Quer continuar? [S/N]: ').upper() while r not in 'SN': r = input('Dígite algo valido, quer continuar? [S/N]: ').upper() if r == 'N': break for c in lista: if c[1] == max(lista)[1]: maior.append(c[0]) elif c[1] == min(lista)[1]: menor.append(c[0]) print('-='*30) print(f'O maior peso é {max(lista)[1]}kg. Peso de {maior} O menor é {min(lista)[1]}kg. Peso de {menor}') print(f'Foram cadastradas {len(lista)} pessoas')
Como usar min e max neste exercício, sem precisar reorganizar os pesos numa lista separada? Não consigo fazer funcionar, aparentemente, porque as listas originais contêm variáveis de tipos diferentes.
nao usa a formula min e max, usa um if, se for maior entao salva o numero maior depois poe um contador se for igual a maior entao salva o nome... '''Exercício Python 084: Faça um programa que leia nome e peso de várias pessoas, guardando tudo em uma lista. No final, mostre: A) Quantas pessoas foram cadastradas. B) Uma listagem com as pessoas mais pesadas. C) Uma listagem com as pessoas mais leves.''' list = [] dado = [] c = 1 f0 = 1 mai = 0 print(f'.{"="*33}.') while f0 == 1: dado.append(input((f'Digite o {c}º nome: '))) dado.append(int(input(f'Digite {c}º peso: '))) list.append(dado[:]) if c == 1: min = dado[1] if dado[1] < min: min = dado[1] if dado[1] > mai: mai = dado[1] c += 1 dado.clear() f1 = 1 while True: x0 = input('Deseja continuar? [S/N]: ').lower().strip() if x0 == 's': break if x0 not in 'sn': print('ops não entendi!') if x0 == 'n': f0 = 0 c -= 1 break pes = [] lev = [] for d in list: if d[1] == mai: pes.append(d[0]) if d[1] == min: lev.append(d[0]) print(f'''Total de cadastrados = {c} Mais pesados = {pes} Mais leves = {lev}''')
Meu codigo se alguem quiser analisar: lista = list() c = maior = menor = 0 temp = list() while True: ask = ' ' temp.clear() temp.append(input('Nome: ')) temp.append(float(input('Peso: '))) lista.append(temp[:]) while ask not in 'SN': ask = input('Quer continuar? [S/N]').upper().strip()[0] if ask == 'N': break for c, pes in enumerate(lista): if c == 0: maior = pes[1] menor = pes[1] if pes[1] > maior: maior = pes[1] if pes[1] < menor: menor = pes[1] print(f'Ao todo voce cadastrou {len(lista)} pessoas') print(f'O Maior peso foi de {maior} Kg. Peso de ',end='') for me in lista: if me[1] == maior: print(me[0],end=' ') print(f' O Menor peso foi de {menor} Kg. Peso de ',end='') for ma in lista: if ma[1] == menor: print(ma[0],end=' ')
Aaaaaah! Quase consegui, estava querendo extrair os dados da minha lista principal, aí fiquei bugando na hora de tirar apenas os pesos dela. Me esqueci completamente da lista de dados que criei.
lista = [] peso = [] resposta="" while resposta in "S": nome=str(input("Nome: ")) kg=float(input("Peso: ")) lista.append(nome) peso.append(kg) resposta=str(input("Deseja continuar:[S/N] ")).strip().upper() if resposta == "N": break print("=-"*30) print("Os dados foram: {}".format(lista)) print("Ao todo voce cadastrou {} pessoas.".format(len(nome))) print("O maior peso foi de {}".format(max(peso))) print("O menor peso foi de {}".format(min(peso)))
Exercício Python #084 - Lista composta e análise de dados dados = [] pessoas = [] peso = list() while True: dados.append(str(input('Nome: '))) ps = float(input('Peso: ')) peso.append(ps) dados.append(ps) pessoas.append(dados[:]) dados.clear() resp = str(input(' Quer continuar? [S/N]')).strip() if resp in 'nN': break print('') maior = max(peso) menor = min(peso) print(25 * '-=') print(' Total de pessoas cadastradas: {}'.format(len(pessoas))) print(' Maior peso: {}. É o peso de:'.format(maior), end = ' ') for p in pessoas: if p[1] == maior: print('[{}] '.format(p[0]),end = '') print(' Menor peso: {}. É o peso de:'.format(menor), end = ' ') for p in pessoas: if menor == p[1]: print('[{}] '.format(p[0]), end = '')
Acabei agora esse exercício e CONSEGUI, estou aqui pra ajudar as pessoas que não estão conseguindo fazer o exercício e não querem a resposta e sim, um pequeno "empurrãozinho" pra fazer por conta própria: Dicas: 1 - Tente utilizar técnicas feitas pelo próprio Guanabara em outros exercícios como por exemplo o número 80! 2 - Persista até conseguir, se não conseguir corrigir algum erro, releia o código inteiro traduza cada comando na sua cabeça e se for preciso ( igual a mim ) apague TUDO e comece de novo. OBS: O meu exercício esta correto, testei varias e varias vezes com exemplos mais aleatórios possíveis e todos deram certo, meu código ficou com algumas gambiarras mas foi eu mesmo que fiz, sem olhar ou consultar em algum lugar. Meu código vou colocar nos comentários desse pra quem quiser ver. Edit: Vi o vídeo do Guanabara agora, percebi que minha ideia foi a mesma que a dele só que ele utilizou FOR para varrer a variável, eu não me dei bem com FOR quando veio os exercícios, mas vou tentar utilizar mais a partir de agora.
eu usei um método um pouco diferente: dadosnome = [] dadospeso = [] while True: dadosnome.append(str(input('digite seu nome : '))) dadospeso.append(float(input('digite seu peso : '))) print('' * 15) keep = str(input('quer continuar ? [s/n] ')).strip().upper()[0] if 'N' in keep: break print(f'no total {len(dadosnome)} se cadastraram.') for pos, n in enumerate(dadospeso): if n == max(dadospeso): print(f'o maior peso é de {n} quem tambem tem esse peso é {dadosnome[pos]}') if n == min(dadospeso): print(f'o menor peso é de {n} quem tambem tem esse peso é {dadosnome[pos]}')
voce resolveu um outro exercicio e enuciado pede uma outra coisa, o enuciado pede para armazenar tanto o nome como o peso numa ûnica lista e não em listas diferentes como fizeste, mas valeu a tentativa
@@inteligencianaoartificialb3349 sabe me dizer o nome do módulo? quero deixar igual tbm as letras do código... vejo que no settings do pycharm não tem as mesmas letras que ele usa
Quando eu testo os meus códigos,a letra das respostas do usuário ficam muito escuras.Como o meu computador fica perto de uma janela,a letra das respostas fica ilegível.Alguém sabe como eu mudo isso?
19 linhas (Eu dei uma viajada nesse desafio) grupo = list() pesa = leve = 0 while True: pessoa = list() # Refaz a lista a cada volta pessoa.append(str(input('Nome: ')).title()) pessoa.append(float(input('Peso: '))) grupo.append(pessoa.copy()) pesa = pessoa[1] if len(grupo) == 1 or pessoa[1] > pesa else pesa leve = pessoa[1] if len(grupo) == 1 or pessoa[1] < leve else leve ask = str(input('\tQuer continuar? [S/N]: ')).lower().strip() if ask[0] == 'n': break print('-' * 30, f' Ao todo foram cadastradas {len(grupo)} pessoas.') print(f'O mais pesado foi {pesa:.1f}kg, foram: ', end='') for p in grupo: print(f'[{p[0]}] ' if p[1] == pesa else '', end='') print(f' O mais leve foi {leve:.1f}kg, foram: ', end='') for p in grupo: print(f'[{p[0]}] ' if p[1] == leve else '', end='')
Fiz de outro jeito, mas funcionou. O jeito que o professor fez é legal para aprender a lógica das listas compostas e assimilar funcionalidades da linguagem. Minha solução: nomes = [] pesos = [] while True: nome = str(input('Nome: ')) peso = float(input('Peso: ')) nomes.append(nome) pesos.append(peso) continuar = ' ' while continuar not in 'NS': continuar = str(input('Quer continuar[S/N]? ')).strip().upper() if continuar == 'N': break print('=-' * 30) print(f'Ao todo você cadastrou {len(nomes)} pessoas. ' f'O maior peso foi de {max(pesos)} kg. Peso de {nomes[pesos.index(max(pesos))]}. ' f'O menor peso foi de {min(pesos)} kg. Peso de {nomes[pesos.index(min(pesos))]}.')
Sempre é bom ler os comentarios e ver soluções diferentes da suas, é muito interessante cada perspectiva de visão logica pra resolução de um problema, eu fiz de uma forma um pouco diferente, ja que usei outras duas lista para armazenar o nome das pessoas com os maiores pesos, ficou da seguinte forma: pessoas = list() dados = list() listMen = [] listMai = [] listNomeMaior = [] listNomeMenor = [] cont = 0 while True: dados.append(str(input('Digite o Nome: '))) dados.append(float(input('Digite o Peso: '))) pessoas.append(dados[:]) if cont == 0: listMen.append(dados[1]) listMai.append(dados[1]) elif cont>=1: if dados[1] > listMai[0]: listMai[0] = dados[1] if dados[1] < listMen[0]: listMen[0] = dados[1] dados.clear() cont += 1 r = str(input('Deseja continuar? [S/N] ')).upper().strip()[0] while r not in 'SsNn': r = str(input('Resposta Invalida! Deseja continuar? [S/N] ')) if r in 'Nn': break for p in pessoas: if p[1] >=listMai[0]: listNomeMaior.append(p[0]) if p[1]
Ótima aula, Guanabara! Esse exercício quase quebrou a minha cabeça kkkk Mas, graças a Deus, consegui fazer (ficou um pouco maior, mas o que importa é que funcionou): info = list() dado = list() pesadas = list() leves= list() menor = maior = 0 while True: dado.append(str(input('Nome: '))) dado.append(float(input('Peso: '))) info.append(dado[:]) dado.clear() opcao = str(input('Deseja continuar? [S/N]: ')).strip().upper()[0] while opcao not in 'SN': opcao = str(input('Opção inválida. Por favor, coloque S ou N: ')).strip().upper()[0] if opcao in 'N': break menor = info[0][1] maior = info[0][1] for i, v in enumerate(info): if v[1] = maior: maior = v[1] pesadas.append(v[0]) if i == 0: pesadas.clear() leves.clear() if info[0][1] = maior: pesadas.insert(0, info[0][0]) print('-=' * 29) if len(info) == 1: print('Ao todo, foi cadastrada 1 pessoa.') else: print(f'Ao todo, foram cadastradas {len(info)} pessoas.') if len(leves) == 1: print(f'O menor peso cadastrado foi de {menor}Kg e pertence a pessoa: {leves}') else: print(f'O menor peso cadastrado foi de {menor}Kg e pertence às pessoas: {leves}') if len(pesadas) == 1: print(f'O maior peso cadastrado foi de {maior}Kg e pertence a pessoa: {pesadas}') else: print(f'O maior peso cadastrado foi de {maior}Kg e pertence às pessoas: {pesadas}') print('-=' * 29)
Nossa eu passei horas tentando resolver da maneira errada mas agora eu finalmente entendi eu tenho que comparar pra encontrar o maior valor antes dele apagar os dados
É um algorítmo um pouco mais difícil. Mas não é tão complicado assim. Não consegui fazer, mas tentei bastante. Agora vou digitar esse código e estudar.
normal mano, eu demorei 1 dia pra fazer esse, depois que entendi o conceito o negocio fluiu, mas foram horas pensando no problema e descansando tbm kkkkk
No peso eu simplesmente coloquei dentro da lista pessoas uma lista para cada pessoa contendo o peso e o nome, coloquei o peso primeiro pq usando o sorted ele organiza do mais leve até o mais pesado automaticamente, se eu colocasse o nome primeiro ele organizaria em ordem alfabética
Acabei fazendo mais do que precisava ache que precisaria de "for", acredito que de para utilizar ainda mas acabei me embananando e fazendo na hora errada o que me custou bem mias linhas de codigo e um erro que não consegui consertar, mas bola pra frente.
TOP! Fica até que curto o código, 19 linhas. Da pra fazer considerando duas listas relacionadas, Nomes e Pesos, se o primeiro nome foi inserido em nome[0] o peso será inserido na segunda lista em peso[0]. Assim fica bem fácil determinar onde cada um vai estar e nem precisa usar lógica de maior ou menor, só chamando método max e min já dá: nome = list() peso = list() while True: nome.append(str(input('Digite um nome: '))) peso.append(int(input('Peso: '))) resposta = str(input('Deseja continuar? [S/N] ')).upper().strip()[0] while resposta not in 'SsNn': resposta = str(input('Deseja continuar? [S/N] ')).upper().strip()[0] if resposta in 'Nn': break print(f'Ao todo você cadastrou {len(nome)} pessoas.') print(f'O maior peso foi de {max(peso)}kg. Peso de ', end='') for c in range(0, len(peso)): if peso[c] == max(peso): print(f'{nome[c]}', end=' ') print(f' O menor peso foi de {min(peso)}kg. Peso de ', end=' ') for c in range(0, len(peso)): if peso[c] == min(peso): print(f'{nome[c]}', end=' ')
criei uma lista adicional so com os pesos e peguei o maior e o menor usando o max() e o min() e depois fiz os for final igual o do professsor. eu ate cheiguei a pensar que que o meu tava muito grande mas a unica mudança foi a parte de pegar os maiores e menores pesos o resto praticamente igual.
Caraca esse foi desafiador e legal de fazer, eu fiz tudo que pude usando listas para praticar: from time import sleep pessoas = [] dado_temp = [] maior_peso_nome = [] menor_peso_nome = [] menor_peso = maior_peso = 0 while True: dado_temp.append(str(input('Nome:'))) dado_temp.append(int(input('Peso:'))) if len(pessoas) == 0: maior_peso = menor_peso = dado_temp[1] menor_peso_nome.append(dado_temp[0]) maior_peso_nome.append(dado_temp[0]) else: if dado_temp[1] == maior_peso: maior_peso_nome.append(dado_temp[0]) if dado_temp[1] == menor_peso: menor_peso_nome.append(dado_temp[0]) if dado_temp[1] > maior_peso: maior_peso = dado_temp[1] maior_peso_nome.clear() maior_peso_nome.append(dado_temp[0]) if dado_temp[1] < menor_peso: menor_peso = dado_temp[1] menor_peso_nome.clear() menor_peso_nome.append(dado_temp[0]) pessoas.append(dado_temp[:]) dado_temp.clear() while True: continuar = str(input('Quer continuar?[S/N]:')).strip() if continuar in 'SsNn': break if continuar in 'Nn': print('Analisando dados..') sleep(2) break print(f' Ao todo você cadastrou {len(pessoas)} pessoas.' f' O maior peso foi de {maior_peso}Kg. peso de {maior_peso_nome}' f' O menor peso foi de {menor_peso}Kg. Peso de {menor_peso_nome}.')
Os exercícios estão ficam mais desafiadores, mas o importante é praticar bastante, não importa se você teve que ver a resolução para conseguir fazer, o importante é praticar e não desistir. Eu tive que ver alguns exercícios e fiquei refazendo o mesmo exercício algumas vezes até que eu conseguisse ler e entender cada parte do que eu estava fazendo. Não desistam. Procurem outras fontes, assistam as aulas novamente e refaçam os exercícios. Boa sorte pra todos.
Esse comportamento particular das listas em python lembra o comportamento dos vetores em C, pois um vetor passado como parâmetro de uma função tambem é uma passagem por referencia, talvez tenha algo haver pelo python ser feito em C vai saber...
Sofri vários dias com esse exercício e então desisti e resolvi vim ver a resolução do prof e vi que eu estava usando a msm lógica que ele, só estava usando os comandos errados
Esse foi bem de boa, Adoro Exercicios com analise de dados. def lin(): print('-' * 30) # Variaveis, Listas, strings e numeros vazios lista_pessoas = list() dados_pessoas = list() parar = '' contador_adicionados = 0 # Rodar Programa while True: contador_adicionados += 1 # Leitor de dados - Nome e peso dados_pessoas.append(str(input('Digite seu nome: ')).strip()) dados_pessoas.append(float(input('Digite seu peso [kg]: '))) # Colocando os dados em uma unica lista lista_pessoas.append(dados_pessoas[:]) #[:] Usado pra fazer uma copia dos dados dados_pessoas.clear() # deletar a lista de dados, pois os dados foram pra outra lista parar = str(input('>>> Deseja adicionar mais alguem? ')).strip().upper()[0] lin() while parar not in 'SN': parar = str(input('>>> ERROR!, Tente Novamente [S/N]: ')).strip().upper()[0] lin() if 'N' in parar: break # Apresentando dados das pessoas print('10}>'.format('NOMES', 'PESO')) lin() for pessoas in lista_pessoas: print('{}{:>10}'.format(pessoas[0], pessoas[1])) lin() from time import sleep # importação time, slee print('ANALISANDO DADOS...') sleep(5) lin() print(f'No total foram {contador_adicionados} Adicionados.') for pessoas in lista_pessoas: if pessoas[1] >= 80: print(f'As pessoas mais pesadas são {pessoas[0]};') elif pessoas[1]
corpo humano é uma doidera. tentei e não consegui, daí minha casa entrou em obras internas e acabei parando de estudar por 3 semanas. quando voltei, ontem, em simplesmente li o código, descobri um erro lógico e tive um raciocínio que não tive antes de parar, e com esse raciocínio consegui resolver outras questões alem do erro. que doidera. acho que estava forçando demais!
Na resolução abaixo utilizei as funções: Enumerate, max() e min() junto com o for. Criei tbm apenas 2 listas. Ficou mais simples e legível do que a do Professor. Em suma, não tive grandes dificuldades, apenas pensei um pouco mais ao pensar em como retornar o índice associado ao nome com maior ou menor peso, o que foi resolvido utilizando for e ajustando o meu parâmetro dentro do print da minha f-string. listaNomes = [] listaPesos = [] while True: nome = str(input('Nome: ')) listaNomes.append(nome) peso = float(input('Peso (kg): ')) listaPesos.append(peso) resp = str(input('Quer continuar? [S/N] ')).upper().strip()[0] if resp in 'Nn': break print('_' * 40) print(f'Ao todo, você cadastrou {len(listaNomes)} pessoas') print(f'O(s) maior(es) peso(s) foi de {max(listaPesos)} kg de ', end='') for c, v in enumerate(listaPesos): if v == max(listaPesos): print(f'{listaNomes[c]}, ', end='') print(f' O(s) menor(es) peso(s) foi de {min(listaPesos)} kg de ', end='') for c, v in enumerate(listaPesos): if v == min(listaPesos): print(f'{listaNomes[c]}, ', end='') print()
Demorou a sair mas consegui, fiquei satisfeito. pessoas = [] nome = [] peso = [] c=0 while True: n = input('Nome:') p = int(input('Peso:')) nome.append(n) peso.append(p) c+=1 cont = input('Deseja continuar(S/N)?') if cont in 'Nn': break pmax = [] nmax = [] pmin = [] nmin = [] for x in range(0,len(peso)): print(f'{nome[x]} = {peso[x]}') if max(peso) == peso[x]: pmax.append(peso[x]) nmax.append(nome[x]) if min(peso) == peso[x]: pmin.append(peso[x]) nmin.append(nome[x]) print(f'Foram cadastradas {c} pessoas.') print(f'Maior peso coletado: {max(peso)}Kg de {nmax}') print(f'Menor peso coletado: {min(peso)}Kg de {nmin}')
Estude pelo nosso site e tire certificado de 40 horas. Curso completo em:
www.cursoemvideo.com/curso/python-3-mundo-3/
To fazendo lá no site mas vim só pra solidarizar com quem não conseguiu: Eu achei muito difícil, e NÃO consegui também.
Não se impressione com tantos sucessos. O mundo é cheio de histórias de derrota. Só nunca ouvimos.
Achei filosofo
Gostei da atitude! Parabéns!
Achei difícil também, consegui fazer a metade, a parte do maior e menor que me ferrou.
Linda atitude mano, gratidão.
Brabo dms, obrigada
Rapaziada, consegui de primeira!! E isso é uma conquista enorme pra mim, pois passei quase 1 semana resolvendo o problema dos parênteses do módulo anterior (me recuso a olhar a resolução sem ter resolvido o problema). Minha recomendação pra quem tá tendo dificuldade: não olha resolução, fique dias olhando pra parede e pensando em como se resolve determinado exercício, mas não olhe a resolução, isso vai treinar teu cérebro para problemas cada vez mais complexos. Vamo pra cima !!!
exatamente mano, fora lembrar que nosso cerebro nao é uma maquina, ele precisa descansar tbm pra raciocinar melhor depois
Eu discordo, na verdade voce perdeu uma semana tentando resolver o problema, se tivesse visto antes, veria as formas de como resolver a questão, e poderia refaze-lo, adicionando mais coisas e consequentimente fixando melhor, voce poderia fazer em 1 dia, e deixaria os outros 6 para aprender outras funcionalidades, mas voce quem sabe.
@@deivid97098 e quando surgir algum tipo de problema q n tem resolução prontinha no yt ou stack overflow? Entendo teu ponto, mas no mercado de tecnologia tu tem q ter versatilidade e saber entregar independentemente de ter resoluções ou funções que já fazem o trampo. Quando tem, muito bom, economiza tempo e vc foca no que importa, mas sinto que quem sempre depende de código alheio esquece de afiar a própria lógica
Concordo com o que fez, pois seu cérebro fez importantes conexões neurais que vão servir de atalho pra qualquer outro desafio de python. Se vc tem esse tempo disponível vc fez o certo. Se fosse logo atrás das dicas vc aprenderia menos a como pensar em python, que é o maior objetivo dis exercícios.
#DICA
Descobri que dá pra usar o for da mesma forma que quando usa o enumerate(), por exemplo:
#feito no vídeo:
for p in princ:
if p[1] == men:
print(f'[{p[0]}]', end=' ')
#dá pra fazer assim também:
for nome, peso in princ:
if peso == men:
print(nome, end=' ')
Como cada item de princ tem dois valores, o primeiro valor vai pra 'nome' e o segundo, pra 'peso'
Nice dica mlk
Muito obrigado mano! Seloco fiquei mo tempo quebrando a cabeça...salvou demaisss!!!!
Valeu man... gostei da dica, fortaleceu demais.
No começo do curso eu entrei nesse vídeo só pra xeretar e vi esse monte de códigos e cheguei a questionar se um dia eu entenderia o que significa, hoje vim ver essa solução de exercício pra ver se a minha lógica tinha ficado muito diferente da do professor e percebi que usei exatamente a mesma lógica que ele, alguns comandos diferentes, mas com a mesma lógica. Obrigado pelos ensinamentos, Gustavo, vc tem sido meu maior companheiro nos últimos 3 meses.
#Desafio 84 -Aula 18
pessoas = list()
dados = list()
maior = menor = 0
while True:
dados.append(str(input('Digite seu nome: ').strip().capitalize()))
dados.append(int(input('Digite seu peso: ')))
if not pessoas:
maior = menor = dados[1]
pessoas.append(dados[:])
for valor in pessoas:
if valor[1] > maior:
maior = valor[1]
elif valor[1] < menor:
menor = valor[1]
dados.clear()
resp = ''
while not resp or resp not in 'SsNn':
resp = str(input('Deseja continuar? [S/N]: ')).strip().upper()
if not resp or resp not in 'SsNn':
print('Opção inválida!')
else:
break
if resp in 'Nn':
break
print(f'Foram cadastradas {len(pessoas)} pessoas.')
print(f'O maior peso registrado foi: {maior}Kg.')
print(f'As pessoas mais pesadas foram:', end=' ')
for valor in pessoas:
if valor[1] >= maior:
print(valor[0], end='. ')
print(f'
O menor peso registrado foi: {menor}Kg.')
print(f'As pessoas mais leves foram:', end=' ')
for valor in pessoas:
if valor[1]
parabens
pqp...ia comentar praticamente a mesma coisa.. kk
pessoas = []
dados = []
cont = maior = menor = 0
while True:
pessoas.append(str(input('Nome: ').strip().capitalize()))
pessoas.append(float(input('Peso: ')))
dados.append(pessoas[:])
if cont == 0:
maior = menor = pessoas[1]
else:
if pessoas[1] > maior:
maior = pessoas[1]
if pessoas[1] < menor:
menor = pessoas[1]
pessoas.clear()
continuar = ' '
while continuar not in 'sn':
continuar = str(input('Quer continuar? [S/N]')).strip().lower()
if continuar == 'n':
print('Obrigado por trabalhar conosco.')
break
cont += 1
print(f'
{dados}')
print(f'Foram inseridos os dados de {len(dados)} pessoas')
print(f'Os mais pesados, acima de {maior} Kg , são: ', end='')
for d in dados:
if d[1] >= maior:
print(f'{d[0]}')
print(f'Os mais leves, abaixo de {menor}Kg são: ', end='')
for d in dados:
if d[1]
Bem eu, eu via esses videos de exercicios do Gustavo e ficava, que por** de códigos são esses kkkk, agora ca estou eu, resolvendo eles
Caralho! Em 3 meses você já chegou aqui ? Parabéns pela disciplina!
Melhor comentário!!
O meu resultado não ficava igual o dele...mas cheguei bem perto e fico feliz de ter entendido toda a demonstração dele!! :)
Estudando hoje dia 12/09/22 o exercicio 084, estou com alguma dificuldade, mas nada que assistindo algumas vezes a mais não sane as dúvidas. Citando os comentários abaixo, suas aulas são excelentes.
Sofrendo aqui Professor ! mas não desisto... Bora pra cima!
Tu é foda pra caralho, irmão... Comecei curso de ciência de dado em cima de python faz algum tempo, e todas as dúvidas que tenho eu consigo encontrar o caminho assistindo teus videos... Parabéns pelo trabalho e pelo conhecimento que você compartilha!
Cada vez mais, eu aprendo.
Impressionante como os exercício menores são infinitamente mais difíceis que os maiores
Comecei o meu contato com programação em Setembro do ano passado (2021) em uma escola técnica aqui na Espanha, apanhei muito, até que desisti... fiquei durante alguns meses sem ao menos olhar um código, fiquei traumatizada. Voltei faz pouco tempo, fiz outros cursos do canal (principalmente programação Básica) e isso me ajudou a entender muito as famosas Arrays (listas). Um monstro se tornou um bichinho tão pequenininho. Confesso que foi bem entediante começar do zero, mais está valendo a pena. Estou conseguindo resolver tranquilamente todos os exercícios... Obrigada Guanabara, você é o melhor!!!
#Minha solução:
dados = list()
pessoas = []
pessoasPesadas = []
pessoasLeves = []
leve = pesado = 0
while True:
dados.append(str(input('Nome: ')))
dados.append(float(input('Peso: ')))
pessoas.append(dados[:])
dados.clear()
res = str(input('Deseja continuar [S/N}? : '))
if res in 'Nn':
break
for pes in pessoas :
if leve == 0 and pesado == 0:
leve = pesado = pes[1]
if pes[1] > pesado:
pesado = pes[1]
elif pes [1]
Fico feliz que você tenha tirado suas dúvidas e agora tá dominando as questões. Tô me esforçando bastante pra resolver as questões facilmente .
Eu estava chegando bem, mais começou a dar um nó. Não sei se é impressão minha, mais notei que o mundo um e dois foram mais didáticos no que tange os exercícios. OBS: não estou falando de facilidade, parece que faltou algo para conseguir "linkar "a aprendizagem.
Não sou leigo no assunto mais tive dificuldades, Python é novo para mim, antes eu lidava com C/C++, Java e achei o python bem mais poderoso e mais prático.
Parabéns a quem conseguiu....
Eu resolvi com 5 linhas a mais do que o professor, mas é bem satisfatório quando se consegue resolver antes de assistir a solução, isso me mostra minhas falencias na hora de ordenar os códigos para não ser repetitivo neles e ser mais logico nos exercícios futuros. nao desanimem!
Muito feliz em ter chegado à solução desse desafio! maior:
pesados.clear()
maior = pessoa[1]
pesados.append(pessoa)
elif pessoa[1] == maior:
pesados.append(pessoa)
print(f'O maior peso foi {maior} kg. Peso de: ', end='')
for c in pesados:
print('', c[0], end='')
print()
menor = maior
for pessoa in cadastro:
if pessoa == 0:
menor = pessoa[1]
leves.append(pessoas)
else:
if menor > pessoa[1]:
leves.clear()
menor = pessoa[1]
leves.append(pessoa)
elif pessoa[1] == menor:
leves.append(pessoa)
print(f'O menor peso foi de {menor} kg. Peso de:', end='')
for c in leves:
print('', c[0], end='')Por favor... digam o que posso melhorar!
eu precisei olha o conceito e depois que vi fui fazendo de cabeça e entendendo o conceito por completo sem precisa olha o video pela 2° vez super recomendo usa esse metodo quando vc tiver muita dificuldade.
Abaixo deixo uma solução mais compacta do desafio.
Uma outra maneira de achar rapidamente o maior e menor peso de uma pessoa seria ordenar a lista composta com base no peso. Para isso utilizei o método sorted, e ordenei em descrescente (reverse=True). O primeiro elemento dessa lista será a pessoa mais pesada e o último, será a pessoa mais leve.
pessoas = []
while True:
nome = input('Nome da pessoa: ')
peso = float(input('Informe o peso em KG: '))
pessoas.append([nome,peso])
continua = input('Quer continuar? [S/N] ')
if continua in 'nN':
break
peso_descrescente = sorted(pessoas, key=lambda p: p[1], reverse=True)
maior_peso, menor_peso = peso_descrescente[0][1], peso_descrescente[-1][1]
lista_maior_p = [pessoa[0] for pessoa in pessoas if pessoa[1] == maior_peso]
lista_menor_p = [pessoa[0] for pessoa in pessoas if pessoa[1] == menor_peso]
print('-='*25)
print(f'Foram cadastradas {len(pessoas)} pessoas')
print(f'O maior peso foi de {maior_peso} kg. Peso de {lista_maior_p}')
print(f'O menor peso foi de {menor_peso} kg. Peso de {lista_menor_p}')
Uma coisa super bacana na programação é sempre ver que há formas mais inteligentes/reduzidas que a sua e isso é demais. Obrigado prof por compartilhar e obrigado a todos que compartilham seus códigos nos comentários... aprendemos com ambos!!
Meu código ficou da seguinte forma, com 29 linhas:
user = [] #lista para inserir nome e peso
todos =[] #lista total
p = 0 #quantidade de pessoas
resp='' #resposta para continuar/interromper
conv =[] #lista criada para alterar a posição entre 'nome' e 'peso'
listaPesoTemp=[] #lista total com peso na posição 0, para uso da funç. sort()
while resp != 'n':
user.append(str(input('Digite o seu nome: ')).title())
user.append(float(input('Digite o seu peso: ')))
todos.append(user[:]) #[:] copia os dados da lista user [nome, peso]
p+=1 #contagem de pessoas
user.clear() #limpar lista user para preenchimento posterior
resp = str(input('Deseja continuar: [S/N]')).lower()
while resp != 'n' and resp !='s':
print ('Resposta inválida.')
resp = str(input('Deseja continuar: [S/N]')).lower()
print (f'A quantidade de pessoas \033[42mcadastradas\033[m foi: {p}x pessoas')
print('--'*30)
print ('A lista é:', todos)
print('--'*30)
for p in todos:
conv =[p[1], p[0]]
listaPesoTemp.append(conv[:])
conv.clear()
listaPesoTemp.sort(reverse=True)
print('As pessoas mais \033[7mPESADAS\033[m são:')
tamanhoListaPeso = int(input('Quantoas pessoas deseja verificar: '))
while tamanhoListaPeso > len(listaPesoTemp):
print('Você digitou uma quantidade maior do que a lista toda.')
print(f'Digite um número entre 1 e {len(listaPesoTemp)}')
tamanhoListaPeso = int(input('Quantoas pessoas deseja verificar: '))
for q in listaPesoTemp[0:tamanhoListaPeso]:
print (f'{q[1]} com {q[0]:.2f} kg')
listaPesoTemp.sort()
print('--'*30)
print ('As pessoas mais \033[7mLEVES\033[m são: ')
tamanhoListaPeso = int(input('Quantoas pessoas deseja verificar: '))
while tamanhoListaPeso > len(listaPesoTemp):
print('Você digitou uma quantidade maior do que a lista toda.')
print(f'Digite um número entre 1 e {len(listaPesoTemp)}')
tamanhoListaPeso = int(input('Quantoas pessoas deseja verificar: '))
for q1 in listaPesoTemp[0:tamanhoListaPeso]:
print (f'{q1[1]} com {q1[0]:.2f} kg')
Melhor curso do Brasil? NÃO
MELHOR CURSO DO MUNDO!
Aulas muito boas mesmo!!! Show de bola!!!
Para quem usa o Jupter Notbook, da para fazer do mesmo jeito!!
Querendo usar dataframe, sei que fica um pouco mais avançado. mas da para fazer igual. Só lembrar de colocar na primeira linha -> import pandas as pd.
Cara sou muito fã do seu canal, estou fazendo seu curso de java pelo site e estou adorando! Curso, conteúdo, vídeos e tudo que produz em uma qualidade altíssima! Muito bom! Continue assim! Abraço Vicenzo.
Esse desafio foi difícil, fritei meus neurônios para conseguir resolver e consegui!!! Estou muito feliz com isso, principalmente pq a minha linha de pensamento foi muito parecida com o do professor, a maior diferença foi que eu usei um 'for' para definir o maior e menor peso em vez de usar um 'if' ainda lá dentro do 'while True'. Em todos os desafios eu to tentando usar TUDO que o Guanabara já ensinou e sempre uso código de cor. Meu código:
pessoas = list()
dados = list()
maior = menor = 0
while True:
dados.append(str(input('\033[1;97mNOME: ')))
dados.append(float(input('PESO (KG): ')))
pessoas.append(dados[:])
dados.clear()
continuar = input('Que continuar [S/N]? ').strip().upper()
while continuar != 'S' and continuar != 'N':
print('RESPOSTA INVÁLIDA')
continuar = input('Que continuar [S/N]? ').strip().upper()
print(30 * '-=')
if continuar == 'N':
break
for pessoa in pessoas:
if pessoa == pessoas[0]:
maior = menor = pessoa[1]
if pessoa[1] > maior:
maior = pessoa[1]
elif pessoa[1] < menor:
menor = pessoa[1]
print(f'\033[1;32mPessoas cadastradas: \033[1;97m{len(pessoas)}')
print(f'\033[1;34mMaior peso: \033[1;97m{maior:.1f} Kg
\033[1;34mPessoas mais pesada: ', end='')
for pessoa in pessoas:
if maior in pessoa:
print(f'\033[1;97m[{pessoa[0]}]', end=' ')
print(f'
\033[1;33mMenor peso: \033[1;97m{menor:.1f} Kg
\033[1;33mPessoas mais leves: ', end='')
for pessoa in pessoas:
if menor in pessoa:
print(f'\033[1;97m[{pessoa[0]}]', end=' ')
Eu interpretei o exercício de um modo diferente quando li, mas apliquei os conceitos da aula e ficou bem legal tbm! Ficou assim:
dados=list()
cadastros=list()
dlev=list()
dpes=list()
lev=list()
pes=list()
som=0
while True:
nome=str(input('NOME: ')).upper().strip()
dados.append(nome)
massa=float(input('MASSA(Kg): '))
som+=massa
dados.append(massa)
cadastros.append(dados[:])
dados.clear()
med=som/len(cadastros)
if massa>=med:
dpes.append(massa)
dpes.append(nome)
pes.append(dpes[:])
if massa
Entrei nesse curso em maior e estou no mundo 3, ta puxado porem estou amando me tornar um programador.
Realmente eu sempre esqueço que o contador pode ser substituido pelo len...
Mas é bom saber fazer os contadores, porque você aprende a lógica por trás do comando :D .
Kkkkkkkkkk eu vi isso no meu codigo tb kkkkkkkk
Top demais.. acabei criando 2 listas de menor e maior com os nomes dos maiores e menores... poucas linhas a mais de codigo porem consegui fazer até bem! as vezes eu esqueço o basico e coloco uma dificuldade maior kkkkkkk
2 kkkkkkkk
Meu código ficou simplesmente idêntico, só mudando as variáveis. Se fosse na faculdade era zero na certa!! KKKKKKK
Nem acredito, que por mais que não seja muita coisa acredito eu, consegui chegar até aqui em menos de 1 mês, sem nunca estudar nada de programação, estudando todo dia, o máximo que consigo! Obrigado Gustavo!!!
Minha resolução para este exercicio:
pessoas = list()
dados = list()
maior = menor = 0
cont = 0
print("=" * 50)
while True:
dados.append(str(input("Nome: ")))
dados.append(float(input("Peso: ")))
if len(pessoas) == 0:
maior = menor = dados[1]
else:
if dados[1] > maior:
maior = dados[1]
if dados[1] < menor:
menor = dados[1]
pessoas.append(dados[:])
cont += 1
dados.clear()
resp = str(input("Quer continuar? [S/N] ")).upper().strip()[0]
while resp not in "SN":
print("Opção inválida! Tente novamente.")
resp = str(input("Quer continuar? [S/N] ")).upper().strip()[0]
if resp == "N":
break
print("=" * 50)
print(f"Você cadastrou {cont} pessoas.")
print(f"O maior peso foi de {maior:.2f}Kg. Peso de ", end='')
for p in pessoas:
if p[1] == maior:
print(f"[{p[0]}]", end=' ')
print()
print(f"O menor peso foi de {menor:.2f}Kg. Peso de ", end='')
for p in pessoas:
if p[1] == menor:
print(f"[{p[0]}]", end=' ')
print("=" * 50)
Não sei se muitos aqui utilizam, mas recomendo aderir .capitalize() no comando str(input). Assim você não precisa escrever o nome corretamente com apenas a primeira letra maiúscula já que o programa arruma, pois vejo que o professor Guanabara não informa esse detalhe nos exercícios.
Muito bom... Quebrei a cabeça dois dias... Fiz sort()(colocando o peso antes do nome na lista principal), tentei procurar com o index()... Isso tudo porque não tinha entendido direito como ia me referir ao segundo elemento da lista aninhada... Tsc tsc tsc...
da pra usar sort sim hihi
from operator import itemgetter
aí vc pega a lista
sorted(lista, key=itemgetter(1))
#Esse e meu Código, Estar bem explicativo ...
#Todas as listas globais
dados = list()
pessoas = list()
peso_total = list()
pessoas_maior_peso = list()
pessoas_menor_peso = list()
#Dados inseridos pelo usuário
while True:
dados.append(str(input('Nome: ')).strip().capitalize())
dados.append(float(input('Peso: ')))
pessoas.append(dados[:])
dados.clear()
while True:
proximo = str(input('Quer continuar? (S/N):')).strip().upper()
if proximo in 'SN':
break
if proximo == 'N':
break
#Separando todos os pesos na lista > peso_total
for peso in pessoas:
peso_total.append(peso[1])
#Checando o peso máximo e mínimo
maior_peso = max(peso_total)
menor_peso = min(peso_total)
#Identificando os respectivos nomes de peso Max/Min
for pes in pessoas:
if pes[1] == maior_peso: # if True: Nome, peso > Max
pessoas_maior_peso.append(pes[0])
if pes[1] == menor_peso: #if True: Nome, peso > Min
pessoas_menor_peso.append(pes[0])
print(f'{"=-"*20}
Ao todo, você cadastrou {len(pessoas)} pessoa{"s" if len(pessoas) > 1 else ""}.')
print(f'O maior peso foi de {maior_peso}Kg. Peso de {pessoas_maior_peso}')
print(f'O menor peso foi de {menor_peso}Kg. Peso de {pessoas_menor_peso}')
fiz da mesma maneira ;)
Zerou o Game! boaaa!
Nossa eu tava a mais de uma hora tentando entender essa lógica com os for loops, max e min muuuuito obrigado
Cara super profissional a maneira q vc escreveu seus códigos comentando eu tenho q começar a fazer isso
Fiz exatamente assim, fico muito feliz em saber que é uma boa lógica, ainda estou insegura kkkk
Cara..Seu Canal e Muito Top... Graças A Vc Eu Tô Fazendo A base De Um Site....Ainda Tô Assistindo As Aulas De HTML5 e CSS3....Mais quero Logo Vim Pras Aulas De Python...
Mano ajuda aí inscreva-te no meu canal
Professor Guanabara, muito obrigado pelo seu comprometimento, dedicação e disposição em nos ensinar com tanta clareza.
Seu compromisso com a educação com certeza está produzindo muitos frutos de sucesso.
Parabéns...
Que Deus continue te abençoando grandemente.
Aí vai o meu código:
lista = list()
dados = list()
cont = 0
mais_pesada = menos_pesada = 0
while True:
dados.append(str(input('Nome: ')))
dados.append(float(input('Peso: ')))
if len(lista) == 0:
mais_pesada = menos_pesada = dados[1]
lista.append(dados[:])
dados.clear()
cont += 1
for n in lista:
if n[1] > mais_pesada:
mais_pesada = n[1]
else:
if n[1] < menos_pesada:
menos_pesada = n[1]
r = str(input('Quer continuar? S/N: ')).strip().lower()
while r not in 's' and r not in 'n' or r == '':
r = str(input('Quer continuar? S/N: ')).strip().lower()
if r in 'n':
break
print(f'Ao todo você cadastrou {cont} pessoa(s).')
print(f'O maior peso foi de {mais_pesada}Kg. Peso de ', end='')
for nome in lista:
if nome[1] == mais_pesada:
print(f'{[nome[0]]}', end=' ')
print(f'
O menor peso foi de {menos_pesada}Kg. Peso de ', end='')
for nome in lista:
if nome[1] == menos_pesada:
print(f'{[nome[0]]}', end=' ')
Estou muito feliz por ter conseguido! demorei mas deu certo ahahahaha. Segue abaixo a minha resolução:
#RESOLUÇÃO PESSOAL
dados = []
pessoas_grupo = []
pessoas_peso = [[], []]
menu_resposta = ''
peso_maior = peso_menor = 0
contagem_pessoas = 0
while True:
nome_usuario = str(input('Digite seu nome: ')).upper().strip()
dados.append(nome_usuario)
peso_usuario = float(input('Digite seu peso: '))
dados.append(peso_usuario)
pessoas_grupo.append(dados[:])
dados.clear()
contagem_pessoas = contagem_pessoas + 1
if contagem_pessoas == 1:
peso_maior = peso_menor = peso_usuario
else:
if peso_usuario > peso_maior:
peso_maior = peso_usuario
elif peso_usuario < peso_menor:
peso_menor = peso_usuario
menu_resposta = str(input('Quer continuar? [S/N] ')).upper().strip()
while menu_resposta not in 'SN':
print('Resposta Inválida,',end='')
menu_resposta = str(input(' Tente novamente. Quer continuar? [S/N] ')).upper().strip()
if menu_resposta == 'N':
break
for c in range(0, len(pessoas_grupo)):
if pessoas_grupo[c][1] > peso_maior:
pessoas_peso[0].clear()
pessoas_peso[0].append(pessoas_grupo[c])
elif pessoas_grupo[c][1] == peso_maior:
pessoas_peso[0].append(pessoas_grupo[c])
elif pessoas_grupo[c][1] < peso_menor:
pessoas_peso[1].clear()
pessoas_peso[1].append(pessoas_grupo[c])
elif pessoas_grupo[c][1] == peso_menor:
pessoas_peso[1].append(pessoas_grupo[c])
print(f'Foi adicionado \033[32m{contagem_pessoas}\033[m usuários no sistema.')
print('As pessoas mais leves são:')
for c in range(0,len(pessoas_peso[1])):
print(pessoas_peso[1][c][0], end='...')
print('
As pessoas mais pesadas são:')
for c in range(0,len(pessoas_peso[0])):
print(pessoas_peso[0][c][0], end='...')
Eu consegui no ultimo segundooo, comecei a ver o video e me veio a ideia a mente, fui tentar e deu certo
Eu acho que esses END="" me confunde muito, pra mim seria melhor imprimir tudo numa linha já que uma faz a continuação da outra.
Tentei e tentei fazer sozinho, não consegui e tive que ver a resolução.
NÃO VOU DESISTIR!
Somos dois cara, essa atividade ae me quebrou, n entendi nada da parte da lógica de como encaixar uma lista na outra, e ler peso e tals
@@jimmy3598 Eu até entendi a primeira parte, eu esperava que ele fosse utilizar max e min na hora de identificar os mais pesados e os mais leves, mas n foi o que ocorreu.
Gente, sei que é foda, mas tentem não desanimar quando der bug na cabeça. Tente...tente...tente... quando realmente ver que não consegue, assista aula novamente, tenta fazer exercícios anteriores novamente ou até deixa para o dia seguinte. A frustração é o pior inimigo nessas horas, mas não dá é pra desistir. Eu tive dificuldade no Ex. 89.. Cansei, deixei para o dia seguinte. Só foi a cabeça esfriar que, mesmo sem estar na frente do PC, consegui formar a lógica quando tava deitado de boa no sofá, de cabeça descansada rsrs.
PS: Tambem quebrei a cabeça pra captar a ideia do end no início, mas é super necessário aprender. Numa repetição com for, por exemplo, é muito útil.
@@LucaTake Comigo tem acontecido a mesma coisa. Fico quebrando a cabeça em alguns exercícios. Quando vejo que não consigo perceber onde estou errando e não consigo evoluir, desligo o computador e deixo pro outro dia. E é isto que tem me ajudado a resolver as sulas sozinho, pq no outro dia eu abro o PyCharm e consigo resolver de boas. O negócio é descansar a cabeça quando for necessário e não desistir.
Exercicio não é dificil, mas é bem maior que os outros, dá dor de cabeça. Foi o primeiro exercicio que demorei um bom tempo pra fazer. Foi um total de 2 horas pra acertar tudo. Eu por algum motivo queria que aparecesse todos os valores iguais de maior e menor peso, por isso fui tentando criar novas listas... Mas deu certo.
Esses exercicios de guardar "maior e menor" me quebram sempre, aff como odeio isso kkkk
huahauhauha igual eu mano isso acaba comigo
Eu to me fudendo com isso, não to conseguindo fazer nenhum sozinho, é vergonhoso! :(
@@danilodelucio olha cara eu tava assim, tava realmente muito chato quase parei.
@@danilodelucio mas ai eu comecei a anotar todas as minhas dificuldades, erros, tudo que eu tinha muita dificuldade e foi realmente muito eficiente
@@danilodelucio huahuahua comecei ate ler livros pra ver se meu nivel de logica aumentava
sim, criei 5 listas, funcionou e estou feliz, mesmo que tenha refeito o exercício e ele tenha ficado bem mais clean na minha segunda resolução
data = list()
read = list()
weight = list()
fatter = list()
thinner = list()
while True:
read.append(input("Nome: "))
read.append(float(input("Peso: ")))
data.append(read[:])
weight.append(read[1])
read.clear()
choice = input("Deseja continuar? [S/N]").strip().upper()
while choice not in "SN":
choice = input("Tente novamente. Deseja continuar? [S/N]").strip().upper()
if choice == "N":
break
weight.sort()
print(f"Foram cadastradas {len(data)} pessoas")
for p in data:
if weight[0] == p[1]:
thinner.append(p[0])
elif weight[len(weight) - 1] == p[1]:
fatter.append(p[0])
print(f"O maior peso foi de {weight[len(weight) - 1]}Kg. Peso de {fatter}")
print(f"O menor peso foi de {weight[0]}Kg. Peso de {thinner}")
O Professor Gustavo depois que o curso de Python estiver acabado voce poderia fazer uma lista de alguns programas para nos desenvolvermos como se fosse para alguma empresa para nos termos uma base e ganhar experiencia na pratica como desafios exemplo cria um programa para registro de mercado, tocador de musica, alguns mas so para nos fazer por conta propiá para adquirir experiencia
puts que pena que ele nao viu o comentario, mas deve ter alguma coisa parecida na internet
Man, como os cursos q ele da aqui no canal é básico e meio q introdutório, acredito q ainda falta MT coisa pra se aprender, pra poder desenvolver um software bem otimizado, pq imagina ter q desenvolver um software com apenas oq foi aprendido aqui, vc usaria várias linhas de comando para chegar a um resultado(e se chegar), porém quando vc aprende uma linguagem de programação, vc consegue criar programas otimizados (com menos linhas de comando e "sem falhas") entende?
Mas claro q seria super show se ele deixasse uns programas mais complexos para q a gente se desafiasse a recriar com base no q foi ensinado nas aulas.
@@alexk10full eu descobri isso mais python é muito foda com esse básico vc faz muito coisa
fiz o meu com média de peso, achei mais interessante. bom exercicio.
# Exercício 084 - Lista Composta e Análise de Dados
pessoas = []
while True:
nome = input('Nome: ')
peso = float(input('Peso: '))
pessoas.append([nome, peso])
if input('Quer continuar? [S/N] ') not in 'sS': break
print(30 * '-=')
print(f'Ao todo, você cadastrou {len(pessoas)} pessoas.')
maior_peso = max([p for n, p in pessoas])
print(f'O maior peso foi de {maior_peso:.1f}Kg. ', end='')
print(f'Peso de {[n for n, p in pessoas if p == maior_peso]}')
menor_peso = min([p for n, p in pessoas])
print(f'O menor peso foi de {menor_peso:.1f}Kg. ', end='')
print(f'Peso de {[n for n, p in pessoas if p == menor_peso]}')
Sobre este desafio, a seguinte frase do Guanabara no minuto 16:39 foi um alento pra mim:
"Isso daqui é relativamente difícil pra uma pessoa que está começando em programação"
Levei 3 dias ,51 linhas ,mas consegui kkkkkk
Nem acredito mas consegui resolver esse exercício relativamente de boa, parece que o meu esforço nos exercícios de lista 1 me ajudaram muito a desenvolver a logica =)
pessoas = []
pesados = []
leves = []
opção = 'S'
while opção == 'S':
nome = str(input('Digite o NOME da pessoa: '))
peso = float(input('Digite o PESO da pessoa: '))
pessoas.append([nome, peso])
opção = str(input('Deseja adicionar outra pessoa? [S/N] ')).upper().strip()[0]
while opção != 'S' and opção != 'N':
opção = str(input('Opção Inválida! Deseja adicionar outra pessoa? [S/N] ')).upper().strip()[0]
print()
maior_peso = menor_peso = pessoas[0][1]
for i in range(1, len(pessoas)):
if pessoas[i][1] > maior_peso:
maior_peso = pessoas[i][1]
if pessoas[i][1] < menor_peso:
menor_peso = pessoas[i][1]
for j in range(0, len(pessoas)):
if pessoas[j][1] == maior_peso:
pesados.append(pessoas[j][0])
if pessoas[j][1] == menor_peso:
leves.append(pessoas[j][0])
print(f'Foram cadastradas {len(pessoas)} pessoas. ')
print(f'Mais pesados: {pesados} com {maior_peso:.1f}kg ')
print(f'Mais leves: {leves} com {menor_peso:.1f}kg ')
Ficou muito bom. Obrigado Professor Guanabara!!!
Eu fiz um pouco diferente do exercício, criei delimitadores para maior(100kg) e menor(70kg.) Viajei legal, mas tá aí a resolução.
dados = []
pessoas = []
pesados = []
leves = []
while True:
pessoas.append(str(input('Nome: ')))
pessoas.append(int(input('Peso: ')))
dados.append(pessoas.copy())
if pessoas[1] >= 100:
pesados.append(pessoas[0])
elif pessoas[1]
fiz bem parecido também, achei muito mais simples.
9 : 56 tenho que dominar isso!!! praticar isso!!! me enrolo toda vez pra ver qual é o maior e o menor !!!
fiz a separação dos com maior e menor peso fora do 'while', utilizando um 'for', utilizei somente listas : ).
Fiz duas soluções com apenas 17 linhas cada:
1ª:
pessoas, pesados, leves = [], [], []
while True:
pessoas.append([input('
Nome: '), float(input('Peso em KG: '))][::-1])
res = ''
while not res or res not in 'SN':
res = input('Quer continuar? [S/N] ').strip().upper()
if res == 'N':
break
for dado in pessoas:
if dado[0] == max(pessoas)[0]:
pesados.append(dado[1])
if dado[0] == min(pessoas)[0]:
leves.append(dado[1])
print('=-' * 16, f'Quantidade de pessoas cadastradas: {len(pessoas)};', sep='
')
print(f'Maior peso foi {max(pessoas)[0]:.2f}KG. Peso de {pesados}')
print(f'Menor peso foi de {min(pessoas)[0]:.2f}KG. Peso de {leves}.')
2ª:
cadastros = []
mai = men = 0
while True:
cadastros.append([input('
Nome: '), float(input('Peso: '))][::-1])
res = ''
while res == '' or res[0] not in 'SN':
res = input('Quer continuar? [S/N] ').strip().upper()
if res[0] == 'N':
break
print(f'
Cadastro(s): {len(cadastros)}.')
for m in [['Maior', max(cadastros)[0]], ['Menor', min(cadastros)[0]]]:
print(f'
{m[0]} peso: {m[1]}Kg. Peso de', end=' ')
for dado in cadastros:
if dado[0] == m[1]:
print(f'[{dado[1]}]', end=' ')
print()
pessoas.append([input('
Nome: '), float(input('Peso em KG: '))][::-1]) qual a explicação desse "[::-1]" vi que não funciona sem ele.
Eu quebrei a cabeça e não descobri até ver seu exercicio o uso do [0] no max e min. eu sempre olho a resposta dos outros que sempre aprendo algum macete. obrigado!
Que orgulho, primeira vez que consegui fazer um código menor que o do prof. Guanabara. Pelo menos aqui saiu tudo certo, não vi nenhum retorno errado. 🙏
lista = []
pessoa = []
maior = []
menor = []
while True:
pessoa = [input('Nome: '), float(input('Peso: '))]
lista.append(pessoa)
r = input('Quer continuar? [S/N]: ').upper()
while r not in 'SN':
r = input('Dígite algo valido, quer continuar? [S/N]: ').upper()
if r == 'N':
break
for c in lista:
if c[1] == max(lista)[1]:
maior.append(c[0])
elif c[1] == min(lista)[1]:
menor.append(c[0])
print('-='*30)
print(f'O maior peso é {max(lista)[1]}kg. Peso de {maior}
O menor é {min(lista)[1]}kg. Peso de {menor}')
print(f'Foram cadastradas {len(lista)} pessoas')
Como usar min e max neste exercício, sem precisar reorganizar os pesos numa lista separada?
Não consigo fazer funcionar, aparentemente, porque as listas originais contêm variáveis de tipos diferentes.
nao usa a formula min e max, usa um if, se for maior entao salva o numero maior depois poe um contador se for igual a maior entao salva o nome...
'''Exercício Python 084: Faça um programa que leia nome e peso de várias pessoas,
guardando tudo em uma lista. No final, mostre:
A) Quantas pessoas foram cadastradas.
B) Uma listagem com as pessoas mais pesadas.
C) Uma listagem com as pessoas mais leves.'''
list = []
dado = []
c = 1
f0 = 1
mai = 0
print(f'.{"="*33}.')
while f0 == 1:
dado.append(input((f'Digite o {c}º nome: ')))
dado.append(int(input(f'Digite {c}º peso: ')))
list.append(dado[:])
if c == 1:
min = dado[1]
if dado[1] < min:
min = dado[1]
if dado[1] > mai:
mai = dado[1]
c += 1
dado.clear()
f1 = 1
while True:
x0 = input('Deseja continuar? [S/N]: ').lower().strip()
if x0 == 's':
break
if x0 not in 'sn':
print('ops não entendi!')
if x0 == 'n':
f0 = 0
c -= 1
break
pes = []
lev = []
for d in list:
if d[1] == mai:
pes.append(d[0])
if d[1] == min:
lev.append(d[0])
print(f'''Total de cadastrados = {c}
Mais pesados = {pes}
Mais leves = {lev}''')
@@codigok valeu! Eu não lembro mais como fiz esse. Agradeço por compartilhar uma solução.
Meu codigo se alguem quiser analisar:
lista = list()
c = maior = menor = 0
temp = list()
while True:
ask = ' '
temp.clear()
temp.append(input('Nome: '))
temp.append(float(input('Peso: ')))
lista.append(temp[:])
while ask not in 'SN':
ask = input('Quer continuar? [S/N]').upper().strip()[0]
if ask == 'N':
break
for c, pes in enumerate(lista):
if c == 0:
maior = pes[1]
menor = pes[1]
if pes[1] > maior:
maior = pes[1]
if pes[1] < menor:
menor = pes[1]
print(f'Ao todo voce cadastrou {len(lista)} pessoas')
print(f'O Maior peso foi de {maior} Kg. Peso de ',end='')
for me in lista:
if me[1] == maior:
print(me[0],end=' ')
print(f'
O Menor peso foi de {menor} Kg. Peso de ',end='')
for ma in lista:
if ma[1] == menor:
print(ma[0],end=' ')
gustavo com seu codigo de menor de 30 linhas funcionando perfeitamente.
eu com meu codigo que precisou de 53 linhas pra funcionar
triste vida
Estou com dificuldade em aprender esse maior e menor. Alguem sugere algo?.
max() min()
Aaaaaah! Quase consegui, estava querendo extrair os dados da minha lista principal, aí fiquei bugando na hora de tirar apenas os pesos dela. Me esqueci completamente da lista de dados que criei.
esse complicou, não consegui fazer, tentei usar a função max e min, mas não deram certo.
lista = []
peso = []
resposta=""
while resposta in "S":
nome=str(input("Nome: "))
kg=float(input("Peso: "))
lista.append(nome)
peso.append(kg)
resposta=str(input("Deseja continuar:[S/N] ")).strip().upper()
if resposta == "N":
break
print("=-"*30)
print("Os dados foram: {}".format(lista))
print("Ao todo voce cadastrou {} pessoas.".format(len(nome)))
print("O maior peso foi de {}".format(max(peso)))
print("O menor peso foi de {}".format(min(peso)))
quase desisti... mas é bem gratificante no final!
Exercício Python #084 - Lista composta e análise de dados
dados = []
pessoas = []
peso = list()
while True:
dados.append(str(input('Nome: ')))
ps = float(input('Peso: '))
peso.append(ps)
dados.append(ps)
pessoas.append(dados[:])
dados.clear()
resp = str(input('
Quer continuar? [S/N]')).strip()
if resp in 'nN':
break
print('')
maior = max(peso)
menor = min(peso)
print(25 * '-=')
print('
Total de pessoas cadastradas: {}'.format(len(pessoas)))
print('
Maior peso: {}. É o peso de:'.format(maior), end = ' ')
for p in pessoas:
if p[1] == maior:
print('[{}] '.format(p[0]),end = '')
print('
Menor peso: {}. É o peso de:'.format(menor), end = ' ')
for p in pessoas:
if menor == p[1]:
print('[{}] '.format(p[0]), end = '')
Em essência, tivemos a mesma ideia!
Acabei agora esse exercício e CONSEGUI, estou aqui pra ajudar as pessoas que não estão conseguindo fazer o exercício e não querem a resposta e sim, um pequeno "empurrãozinho" pra fazer por conta própria:
Dicas:
1 - Tente utilizar técnicas feitas pelo próprio Guanabara em outros exercícios como por exemplo o número 80!
2 - Persista até conseguir, se não conseguir corrigir algum erro, releia o código inteiro traduza cada comando na sua cabeça e se for preciso ( igual a mim ) apague TUDO e comece de novo.
OBS: O meu exercício esta correto, testei varias e varias vezes com exemplos mais aleatórios possíveis e todos deram certo, meu código ficou com algumas gambiarras mas foi eu mesmo que fiz, sem olhar ou consultar em algum lugar. Meu código vou colocar nos comentários desse pra quem quiser ver.
Edit: Vi o vídeo do Guanabara agora, percebi que minha ideia foi a mesma que a dele só que ele utilizou FOR para varrer a variável, eu não me dei bem com FOR quando veio os exercícios, mas vou tentar utilizar mais a partir de agora.
Meu código:
dado = []
lista = []
maiorl = []
menorl = []
c = 0
while True:
dado.append(str(input('Nome: ')))
dado.append(float(input('Peso: ')))
lista.append(dado[:])
dado.clear()
if c == 0:
maior = lista[0][1]
menor = lista[0][1]
c += 1
elif lista[-1][-1] > maior:
maior = lista[-1][-1]
elif lista[-1][-1] < menor:
menor = lista[-1][-1]
resp = str(input('Quer continuar[S/N]: '))
if resp in 'Nn':
break
pos = 0
while pos < len(lista):
if lista[pos][1] == maior:
maiorl.append(lista[pos][0])
if lista[pos][1] == menor:
menorl.append(lista[pos][0])
pos += 1
print('-=' * 30)
print(f'Foram cadastradas {len(lista)} pessoas')
print(f'O maior peso foi {maior:3}Kg. De {menorl}')
eu usei um método um pouco diferente:
dadosnome = []
dadospeso = []
while True:
dadosnome.append(str(input('digite seu nome : ')))
dadospeso.append(float(input('digite seu peso : ')))
print('' * 15)
keep = str(input('quer continuar ? [s/n] ')).strip().upper()[0]
if 'N' in keep:
break
print(f'no total {len(dadosnome)} se cadastraram.')
for pos, n in enumerate(dadospeso):
if n == max(dadospeso):
print(f'o maior peso é de {n} quem tambem tem esse peso é {dadosnome[pos]}')
if n == min(dadospeso):
print(f'o menor peso é de {n} quem tambem tem esse peso é {dadosnome[pos]}')
voce resolveu um outro exercicio e enuciado pede uma outra coisa, o enuciado pede para armazenar tanto o nome como o peso numa ûnica lista e não em listas diferentes como fizeste,
mas valeu a tentativa
Conteúdo de Ótima qualidade, APROVADO.
Sério, é só comigo que as letras no vídeo ficaram escuras? Eu to ficando doente por isso! O TDAH ta atacando!
Queria saber o que houve, achei que fosse minha tela mas não é não.
@@victorcunha8874
é um módulo pra cores no terminal.
U guanabara coloca os bglh em preto
@@inteligencianaoartificialb3349 sabe me dizer o nome do módulo? quero deixar igual tbm as letras do código... vejo que no settings do pycharm não tem as mesmas letras que ele usa
@@anthonygj5058
Não sei o nome, mas na última aula do Mundo 1 ele fala sobre ele.
Quando eu testo os meus códigos,a letra das respostas do usuário ficam muito escuras.Como o meu computador fica perto de uma janela,a letra das respostas fica ilegível.Alguém sabe como eu mudo isso?
Taí a primeira vez que eu vi o len() substituindo o cont. Isso é bem útil.
Muito bom. Pegando leve que nada. Bota pra lascar Professor.
19 linhas (Eu dei uma viajada nesse desafio)
grupo = list()
pesa = leve = 0
while True:
pessoa = list() # Refaz a lista a cada volta
pessoa.append(str(input('Nome: ')).title())
pessoa.append(float(input('Peso: ')))
grupo.append(pessoa.copy())
pesa = pessoa[1] if len(grupo) == 1 or pessoa[1] > pesa else pesa
leve = pessoa[1] if len(grupo) == 1 or pessoa[1] < leve else leve
ask = str(input('\tQuer continuar? [S/N]: ')).lower().strip()
if ask[0] == 'n':
break
print('-' * 30, f'
Ao todo foram cadastradas {len(grupo)} pessoas.')
print(f'O mais pesado foi {pesa:.1f}kg, foram: ', end='')
for p in grupo:
print(f'[{p[0]}] ' if p[1] == pesa else '', end='')
print(f'
O mais leve foi {leve:.1f}kg, foram: ', end='')
for p in grupo:
print(f'[{p[0]}] ' if p[1] == leve else '', end='')
Não entendi a linha "pesa = pessoa[1] if len(grupo) == 1 or pessoa[1] > pesa else pesa". Não entendi esse "else pesa" no final
Parabéns . o meu foi 27. e ainda não achei que ia dar certo . sausha
Fiz de outro jeito, mas funcionou. O jeito que o professor fez é legal para aprender a lógica das listas compostas e assimilar funcionalidades da linguagem.
Minha solução:
nomes = []
pesos = []
while True:
nome = str(input('Nome: '))
peso = float(input('Peso: '))
nomes.append(nome)
pesos.append(peso)
continuar = ' '
while continuar not in 'NS':
continuar = str(input('Quer continuar[S/N]? ')).strip().upper()
if continuar == 'N':
break
print('=-' * 30)
print(f'Ao todo você cadastrou {len(nomes)} pessoas.
'
f'O maior peso foi de {max(pesos)} kg. Peso de {nomes[pesos.index(max(pesos))]}.
'
f'O menor peso foi de {min(pesos)} kg. Peso de {nomes[pesos.index(min(pesos))]}.')
Sempre é bom ler os comentarios e ver soluções diferentes da suas, é muito interessante cada perspectiva de visão logica pra resolução de um problema, eu fiz de uma forma um pouco diferente, ja que usei outras duas lista para armazenar o nome das pessoas com os maiores pesos, ficou da seguinte forma:
pessoas = list()
dados = list()
listMen = []
listMai = []
listNomeMaior = []
listNomeMenor = []
cont = 0
while True:
dados.append(str(input('Digite o Nome: ')))
dados.append(float(input('Digite o Peso: ')))
pessoas.append(dados[:])
if cont == 0:
listMen.append(dados[1])
listMai.append(dados[1])
elif cont>=1:
if dados[1] > listMai[0]:
listMai[0] = dados[1]
if dados[1] < listMen[0]:
listMen[0] = dados[1]
dados.clear()
cont += 1
r = str(input('Deseja continuar? [S/N] ')).upper().strip()[0]
while r not in 'SsNn':
r = str(input('Resposta Invalida! Deseja continuar? [S/N] '))
if r in 'Nn':
break
for p in pessoas:
if p[1] >=listMai[0]:
listNomeMaior.append(p[0])
if p[1]
Sempre aquele conteúdo de qualidade! Obrigado
Ótima aula, Guanabara! Esse exercício quase quebrou a minha cabeça kkkk Mas, graças a Deus, consegui fazer (ficou um pouco maior, mas o que importa é que funcionou):
info = list()
dado = list()
pesadas = list()
leves= list()
menor = maior = 0
while True:
dado.append(str(input('Nome: ')))
dado.append(float(input('Peso: ')))
info.append(dado[:])
dado.clear()
opcao = str(input('Deseja continuar? [S/N]: ')).strip().upper()[0]
while opcao not in 'SN':
opcao = str(input('Opção inválida. Por favor, coloque S ou N: ')).strip().upper()[0]
if opcao in 'N':
break
menor = info[0][1]
maior = info[0][1]
for i, v in enumerate(info):
if v[1] = maior:
maior = v[1]
pesadas.append(v[0])
if i == 0:
pesadas.clear()
leves.clear()
if info[0][1] = maior:
pesadas.insert(0, info[0][0])
print('-=' * 29)
if len(info) == 1:
print('Ao todo, foi cadastrada 1 pessoa.')
else:
print(f'Ao todo, foram cadastradas {len(info)} pessoas.')
if len(leves) == 1:
print(f'O menor peso cadastrado foi de {menor}Kg e pertence a pessoa: {leves}')
else:
print(f'O menor peso cadastrado foi de {menor}Kg e pertence às pessoas: {leves}')
if len(pesadas) == 1:
print(f'O maior peso cadastrado foi de {maior}Kg e pertence a pessoa: {pesadas}')
else:
print(f'O maior peso cadastrado foi de {maior}Kg e pertence às pessoas: {pesadas}')
print('-=' * 29)
Ótimo exercicio. Valeu professor!!!!
Nossa eu passei horas tentando resolver da maneira errada mas agora eu finalmente entendi eu tenho que comparar pra encontrar o maior valor antes dele apagar os dados
É um algorítmo um pouco mais difícil. Mas não é tão complicado assim. Não consegui fazer, mas tentei bastante. Agora vou digitar esse código e estudar.
já q não consegui fazer sozinho aqui so deixo meu comentário pra marcar minha presença 17/02/23
normal mano, eu demorei 1 dia pra fazer esse, depois que entendi o conceito o negocio fluiu, mas foram horas pensando no problema e descansando tbm kkkkk
😍😍😍
Achei nota 100000000000000000000000000000000000000000000000000000000
No peso eu simplesmente coloquei dentro da lista pessoas uma lista para cada pessoa contendo o peso e o nome, coloquei o peso primeiro pq usando o sorted ele organiza do mais leve até o mais pesado automaticamente, se eu colocasse o nome primeiro ele organizaria em ordem alfabética
Muito massa esse exercício.
pela primeira vez, após muitos exercícios, eu fiz um bem parecido...Ufa
Acabei fazendo mais do que precisava ache que precisaria de "for", acredito que de para utilizar ainda mas acabei me embananando e fazendo na hora errada o que me custou bem mias linhas de codigo e um erro que não consegui consertar, mas bola pra frente.
TOP! Fica até que curto o código, 19 linhas. Da pra fazer considerando duas listas relacionadas, Nomes e Pesos, se o primeiro nome foi inserido em nome[0] o peso será inserido na segunda lista em peso[0].
Assim fica bem fácil determinar onde cada um vai estar e nem precisa usar lógica de maior ou menor, só chamando método max e min já dá:
nome = list()
peso = list()
while True:
nome.append(str(input('Digite um nome: ')))
peso.append(int(input('Peso: ')))
resposta = str(input('Deseja continuar? [S/N] ')).upper().strip()[0]
while resposta not in 'SsNn':
resposta = str(input('Deseja continuar? [S/N] ')).upper().strip()[0]
if resposta in 'Nn':
break
print(f'Ao todo você cadastrou {len(nome)} pessoas.')
print(f'O maior peso foi de {max(peso)}kg. Peso de ', end='')
for c in range(0, len(peso)):
if peso[c] == max(peso):
print(f'{nome[c]}', end=' ')
print(f'
O menor peso foi de {min(peso)}kg. Peso de ', end=' ')
for c in range(0, len(peso)):
if peso[c] == min(peso):
print(f'{nome[c]}', end=' ')
muuuito melhor de entender, obrigadaa e parabéns KKKK
@@souza9323 kkkkkk que bom que ajudou. Tanto tempo já que fiz, nem lembrava mais 😂😂
criei uma lista adicional so com os pesos e peguei o maior e o menor usando o max() e o min() e depois fiz os for final igual o do professsor.
eu ate cheiguei a pensar que que o meu tava muito grande mas a unica mudança foi a parte de pegar os maiores e menores pesos o resto praticamente igual.
Caraca esse foi desafiador e legal de fazer, eu fiz tudo que pude usando listas para praticar:
from time import sleep
pessoas = []
dado_temp = []
maior_peso_nome = []
menor_peso_nome = []
menor_peso = maior_peso = 0
while True:
dado_temp.append(str(input('Nome:')))
dado_temp.append(int(input('Peso:')))
if len(pessoas) == 0:
maior_peso = menor_peso = dado_temp[1]
menor_peso_nome.append(dado_temp[0])
maior_peso_nome.append(dado_temp[0])
else:
if dado_temp[1] == maior_peso:
maior_peso_nome.append(dado_temp[0])
if dado_temp[1] == menor_peso:
menor_peso_nome.append(dado_temp[0])
if dado_temp[1] > maior_peso:
maior_peso = dado_temp[1]
maior_peso_nome.clear()
maior_peso_nome.append(dado_temp[0])
if dado_temp[1] < menor_peso:
menor_peso = dado_temp[1]
menor_peso_nome.clear()
menor_peso_nome.append(dado_temp[0])
pessoas.append(dado_temp[:])
dado_temp.clear()
while True:
continuar = str(input('Quer continuar?[S/N]:')).strip()
if continuar in 'SsNn':
break
if continuar in 'Nn':
print('Analisando dados..')
sleep(2)
break
print(f'
Ao todo você cadastrou {len(pessoas)} pessoas.'
f'
O maior peso foi de {maior_peso}Kg. peso de {maior_peso_nome}'
f'
O menor peso foi de {menor_peso}Kg. Peso de {menor_peso_nome}.')
Bom vídeo. 😁
alguns exercicios e pra testar seu emocional
Os exercícios estão ficam mais desafiadores, mas o importante é praticar bastante, não importa se você teve que ver a resolução para conseguir fazer, o importante é praticar e não desistir.
Eu tive que ver alguns exercícios e fiquei refazendo o mesmo exercício algumas vezes até que eu conseguisse ler e entender cada parte do que eu estava fazendo. Não desistam. Procurem outras fontes, assistam as aulas novamente e refaçam os exercícios. Boa sorte pra todos.
Esse comportamento particular das listas em python lembra o comportamento dos vetores em C, pois um vetor passado como parâmetro de uma função tambem é uma passagem por referencia, talvez tenha algo haver pelo python ser feito em C vai saber...
Çocoroooo que exercício complicado, mew Deus!
Muito boa aula.
Parabéns!!
Sofri vários dias com esse exercício e então desisti e resolvi vim ver a resolução do prof e vi que eu estava usando a msm lógica que ele, só estava usando os comandos errados
entao voce nao foi mal assim, voce tinha a logica so nao sabia como aplica la
Esse foi bem de boa, Adoro Exercicios com analise de dados.
def lin():
print('-' * 30)
# Variaveis, Listas, strings e numeros vazios
lista_pessoas = list()
dados_pessoas = list()
parar = ''
contador_adicionados = 0
# Rodar Programa
while True:
contador_adicionados += 1
# Leitor de dados - Nome e peso
dados_pessoas.append(str(input('Digite seu nome: ')).strip())
dados_pessoas.append(float(input('Digite seu peso [kg]: ')))
# Colocando os dados em uma unica lista
lista_pessoas.append(dados_pessoas[:]) #[:] Usado pra fazer uma copia dos dados
dados_pessoas.clear() # deletar a lista de dados, pois os dados foram pra outra lista
parar = str(input('>>> Deseja adicionar mais alguem? ')).strip().upper()[0]
lin()
while parar not in 'SN':
parar = str(input('>>> ERROR!, Tente Novamente [S/N]: ')).strip().upper()[0]
lin()
if 'N' in parar:
break
# Apresentando dados das pessoas
print('10}>'.format('NOMES', 'PESO'))
lin()
for pessoas in lista_pessoas:
print('{}{:>10}'.format(pessoas[0], pessoas[1]))
lin()
from time import sleep # importação time, slee
print('ANALISANDO DADOS...')
sleep(5)
lin()
print(f'No total foram {contador_adicionados} Adicionados.')
for pessoas in lista_pessoas:
if pessoas[1] >= 80:
print(f'As pessoas mais pesadas são {pessoas[0]};')
elif pessoas[1]
Até o momento, foi o maior exercício, mas não o mais difícil.
corpo humano é uma doidera. tentei e não consegui, daí minha casa entrou em obras internas e acabei parando de estudar por 3 semanas. quando voltei, ontem, em simplesmente li o código, descobri um erro lógico e tive um raciocínio que não tive antes de parar, e com esse raciocínio consegui resolver outras questões alem do erro. que doidera. acho que estava forçando demais!
exatamente isso mano, quando forçar demais e nao achar um resultado o melhor a se fazer é descançar a cabeça, tbm funcionou assim comigo
Na resolução abaixo utilizei as funções: Enumerate, max() e min() junto com o for. Criei tbm apenas 2 listas. Ficou mais simples e legível do que a do Professor. Em suma, não tive grandes dificuldades, apenas pensei um pouco mais ao pensar em como retornar o índice associado ao nome com maior ou menor peso, o que foi resolvido utilizando for e ajustando o meu parâmetro dentro do print da minha f-string.
listaNomes = []
listaPesos = []
while True:
nome = str(input('Nome: '))
listaNomes.append(nome)
peso = float(input('Peso (kg): '))
listaPesos.append(peso)
resp = str(input('Quer continuar? [S/N] ')).upper().strip()[0]
if resp in 'Nn':
break
print('_' * 40)
print(f'Ao todo, você cadastrou {len(listaNomes)} pessoas')
print(f'O(s) maior(es) peso(s) foi de {max(listaPesos)} kg de ', end='')
for c, v in enumerate(listaPesos):
if v == max(listaPesos):
print(f'{listaNomes[c]}, ', end='')
print(f'
O(s) menor(es) peso(s) foi de {min(listaPesos)} kg de ', end='')
for c, v in enumerate(listaPesos):
if v == min(listaPesos):
print(f'{listaNomes[c]}, ', end='')
print()
Demorou a sair mas consegui, fiquei satisfeito.
pessoas = []
nome = []
peso = []
c=0
while True:
n = input('Nome:')
p = int(input('Peso:'))
nome.append(n)
peso.append(p)
c+=1
cont = input('Deseja continuar(S/N)?')
if cont in 'Nn':
break
pmax = []
nmax = []
pmin = []
nmin = []
for x in range(0,len(peso)):
print(f'{nome[x]} = {peso[x]}')
if max(peso) == peso[x]:
pmax.append(peso[x])
nmax.append(nome[x])
if min(peso) == peso[x]:
pmin.append(peso[x])
nmin.append(nome[x])
print(f'Foram cadastradas {c} pessoas.')
print(f'Maior peso coletado: {max(peso)}Kg de {nmax}')
print(f'Menor peso coletado: {min(peso)}Kg de {nmin}')
Mt incrivel otimo de bom!!! 😁😁
Pelo oque eu tô vendo. De agora pra frente, não tem nada fácil.
Passei 2 horas so nesse mas resolvi hasuauauauau e ainda ficou bem maior que o do professsor
Excelente!
Puts, as vez parece que eu não assisto as aulas... Nós exercícios, eu tenho que assistir.
Usei um contador mas como o professor disse, você pode usar o len, e fiz um laço for um pouco diferente.