Classificação
0 %
Popularidade
Opine
Descrição:
Nessa aula, vamos aprender o que são DICIONÁRIOS e como utilizar dicionários em Python. Os dicionários são variáveis …






O pessoal doando dinheiro e o cara fazendo propaganda da empresa dele kkkk
Exercício 91 me traumatizou.
exercicio 90
aluno = {}
aluno['Nome'] = str(input('Digite o Nome do Aluno(a): '))
aluno['Média'] = float(input('Digite a média do aluno(a): '))
print(f'O(a) Aluno(a): {aluno["Nome"]} nTem média: {aluno["Média"]}')
if aluno['Média'] <= 5:
print('Situação: Reprovado(a)')
else:
print('Situação: Aprovado(a)')
print()
assistindo em 2022… cara é muiito bom esse curso, pqp… sempre volto a ele.
dasafio 91 como nao ensinou na aula fiz sem dict msm
import random
galera = list()
dados = list()
dadinhos = []
sei = 0
sei2 = -1
print('———Valores sorteados———–')
for c in range(4):
rn = random.randint(0,6)
dadinhos.append(rn)
galera.append(rn)
dados.append(galera)
galera.clear
print(f'Jogador{sei+1}: {galera[sei]}')
sei += 1
sei = 0
sorte = sorted(galera)
print('——–Ranking dos vencedores——–')
for c in range(4):
index = dadinhos.index(max(dadinhos))
dadinhos.remove(max(dadinhos))
dadinhos.insert(index,0)
print(f'Jogador{index+1}: {sorte[sei2]}')
sei += 1
sei2 -= 1
Não parece algo dificil de lidar mas parece algo bem facil de se enrolar ou se perder no codigo.
caramba 10 minutos da aula ja aprendi mais coisas no python, estu no começo ainda
Minha solução foi essa:
pessoa = dict()
cadastro = list()
soma = 0
mulheres = list()
while True:
pessoa['nome'] = str(input('Nome: ')).capitalize()
pessoa['sexo'] = str(input('Sexo[M/F]: ')).lower().split()[0]
while pessoa['sexo'] not in 'mf':
pessoa['sexo'] = str(input('Digite um valor válido[M/F]: '))
pessoa['idade'] = int(input('Idade: '))
r = str(input('Quer continuar[S/N]? ')).lower().split()[0]
cadastro.append(pessoa.copy())
soma += pessoa['idade']
if pessoa['sexo'] == 'f':
mulheres.append(pessoa['nome'])
while r not in 'sn':
r = str(input('Digite um valor válido[S/N]')).lower().split()[0]
if r == 'n':
break
print('-='*30)
print(f'Foram cadastradas {len(cadastro)} pessoas')
media = soma / len(cadastro)
print(f'A média de idade do grupo é de {media:.2f} anos')
print(f'As mulheres do grupo são {mulheres}')
print(f'Lista de pessoas com idade acima da média')
if pessoa['idade'] > media:
print(f'{pessoa}')
usei hack no 091:
import random
rank = []
players = {'jogador1': random.randint(1,6), 'jogador2': random.randint(1,6), 'jogador3': random.randint(1,6), 'jogador4': random.randint(1,6)}
print('Valores sorteador: ')
for k,v in players.items():
print(f' O {k} tirou {v}')
rank.append(v)
rank.sort(reverse=True)
print('Ranking dos jogadores: ')
print(f' 1º lugar: Jogador 1 com {rank[0]}')
print(f' 2º lugar: Jogador 2 com {rank[1]}')
print(f' 3º lugar: Jogador 3 com {rank[2]}')
print(f' 4º lugar: Jogador 4 com {rank[3]}')
Muito obrigado mesmo! Eu estava com dificuldades de adiconar os dicionários na lista pois os valores se repetiam. Graditão!
666 comentários
665
esses exercicios são muito estranhos, o 91 eu não consegui organizar de jeito nenhum, depois do 92 até o 94 foi extremamente facil de fazer, só vi o enunciado e fui fazendo. Depois o 95 eu tentei fazer no primeiro dia mas não consegui terminar. dai eu fui dormir, fiquei 2 dias sem programar e hoje fui tentar e gastei 3 horas para terminar, porém entendi perfeitamente o que eu fiz e o que eu não estava conseguindo fazer antes.
inclusive tá aqui a resolução do 95
todos = list()
jogadores = dict()
gols = list()
total = 0
continuar = 's'
while True:
if continuar != 's':
break
jogadores.clear()
jogadores['nome'] = str(input(f'Nome do jogador: '))
partidas = int(input(f'Quantas partidas {jogadores["nome"]} jogou? '))
for g in range(partidas):
gols.append(int(input(f'Quantos gols na {g+1}º partida? ')))
jogadores['gols'] = gols[:]
for t in gols:
total += t
gols.clear()
jogadores['total'] = total
todos.append(jogadores.copy())
continuar = str(input(f'Quer adicionar outro jogador? [s] ou [n]: ')).lower().strip()[0]
while continuar not in 'sn':
continuar = str(input(f'Use apenas [s] ou [n]: ')).lower().strip()[0]
total = 0
print(30*'-=')
print('ID Nome'+15*' '+'Gols'+25*' '+'Total')
cont = 0
for jog in todos:
pos = todos.index(jog)
cont = 20 – len(jog['nome'])
cont2 = 30 – (len(jog['gols']) *3 )
print(f'{pos} {jog["nome"]}' + cont * ' ' + f'{jog["gols"]}'+cont2 * ' ' + f'{jog["total"]}')
print(30*'-=')
escolha = 0
while True:
escolha = int(input(f'Mostrar dados de qual jogador? use (999) para finalizar: '))
while escolha > len(todos)-1:
if escolha == 999:
break
escolha =int(input(f'Valor invalido, escolha um entre 0 e {len(todos)-1}. Use (999) para finalizar: '))
if escolha == 999:
break
print(30 * '-=')
print(f'LEVANTAMENTO DO JOGADOR {todos[escolha]["nome"]}:')
cont = 0
for jogador in todos[escolha]['gols']:
cont += 1
print(f'No {cont}º jogo fez {jogador} gols.')
print(30 * '-=')
print(30 * '-=')
print('-=== VOLTE SEMPRE ===-')
print(30 * '-=')
Uma coisa estranha está ocorrendo: meu pycharm só tá fazendo for limitado a 2 loops!!!! Posso colocar até mesmo for c in range(0, 100) q ele só faz 2 loops…. alguém sabe como resolver isso?
Como faço para que um dicionário receba dados igual uma lista sei que a lista e appende mas qual e o comando do dicionário
Guanabara, vc tem algum curso de api manipulação de dicionários JSON?
muito bom , esta abrindo minha mente
todos = []
while True:
jogador_i = {}
gols_i = []
jogador_i['Nome'] = input('Nome: ')
partidas = int(input(f'Quantadas partidas {jogador_i["Nome"]} jogou? '))
for i in range(partidas):
a = int(input(f'Quantos gols na partida {i + 1}? '))
gols_i.append(a)
jogador_i['Gols'] = gols_i[:]
jogador_i['Total de Gols'] = sum(gols_i)
todos.append(jogador_i)
continuar = input('Deseja continuar [S/N]: ').upper()
while continuar not in ['S','N']:
print('Erro! Por favor digite apenas S ou N.')
continuar = input('Deseja continuar [S/N]').upper()
print('-'*15)
if continuar == 'N':
break
print(f'{"Cod":^10}',f'{"Nome":^10}',f'{"Gols":^10}',f'{"Total":^10}')
a = 0
for c in todos:
print(f'{a:^10}',f'{c["Nome"]:^10}', c["Gols"], f'{c["Total de Gols"]:>10}')
a += 1
print('-'*15)
while True:
esc = int(input('Mostrar dados de qual jogador? [Numero Negativo para parar] '))
if esc < 0:
break
elif esc not in range(len(todos)):
print('ERRO! Não existe esse jogador! Tente Novamente.')
else:
print(f'LEVANTAMENTO DO JOGADOR: {todos[esc]["Nome"]}')
for i in range(len(todos[esc]['Gols'])):
print(f'No jogo {i+1} fez {todos[esc]["Gols"][i]} gols.')
print('-' * 15)
print('ENCERRADO')
Eu utilizei dicionario no mundo 2 todo e não sabia kkkk
eu usava para colorir os programas. O bom é que agora eu tive um ententimento muito mais fácil.
Desafio #092
from datetime import date
from time import sleep
hoje = date.today().year
dici = {'Ano Atual': hoje, 'Nome': str(input('Nome: ')).strip(),
'Idade': int(input('Ano de nascimento: ')),
'CTPS': int(input("Carteira de Trabalho (0 é nulo): "))}
if dici['CTPS'] != 0:
dici['Ano de contratação'] = int(input('Ano de contratação: '))
a = float(input('Salário: R$'))
dici['Salário'] = f'R${a}'
dici['Aposentadoria'] = (dici['Idade'] – dici['Ano de contratação']) * -1
else:
dici['CTPS'] = 'Não Possui'
dici['Idade'] = dici['Idade'] * -1 + hoje
print("-=" * 20)
print(dici)
for key, valor in dici.items():
print(f'{key} = {valor}')
sleep(0.5)
Desafio #093
from time import sleep
lista = list()
somar = 0
dc = {
"Nome": str(input('Nome do Jogador: ')).strip().title(),
"Partidas": int(input('Quantas partidas foram jogadas: ')),
"Gols": lista,
}
print('-=' * 20)
for c in range(1, dc["Partidas"] + 1):
a = int(input(f'Quantos gols na partida {c}? '))
somar += a
lista.append(a)
dc['Total'] = somar
print('-=' * 20)
for key, valor in dc.items():
print(f'{key} = {valor}')
sleep(1)
print('-=' * 20)
print(f'O jogador {dc["Nome"]} jogou {len(lista)} partidas:')
for key, valor in enumerate(lista):
print(f' –> Na {key + 1}º Partida, fez {valor} Gols')
sleep(1)
# DESAFIO 93
# Crie um programa que gerencie o aproveitamento de um jogador de futebol.
# O programa vai ler o nome do jogador e quantas partidas ele jogou. Depois vai ler a quantidade de gols em cada partida.
# No final, tudo isso será guardado em um dicionário, incluindo o total de gols feito durante o campeonato.
dicionario = {}
gols_por_partida = []
total_gols = 0
nome = str(input('Nome do jogador: '))
dicionario['Nome'] = nome
numpartidas = int(input(f'Quantas partidas {nome} jogou? '))
for c in range(0,numpartidas):
gols = int(input(f'Quantos gols ele fez na {c+1}ª partida? '))
gols_por_partida.append(gols)
total_gols += gols
dicionario['Gols'] = gols_por_partida
dicionario['Total'] = total_gols
print('-='*25)
print(dicionario)
print('-='*25)
for k, v in dicionario.items():
print(f'O campo "{k}" tem o valor {v}.')
print('-='*25)
print(f'O jogador {nome} jogou {numpartidas} partidas.')
for i in range(0, numpartidas):
print(f' => Na {i+1}ª partida, o jogador {nome} fez {dicionario["Gols"][i]} gols.')
print(f'Foi um total de {dicionario["Total"]} gols.')
# DESAFIO 92
# Crie um programa que leia nome, ano de nascimento e carteira de trabalho, e cadastre-os (com idade) em um dicionário.
# Se por acaso a CPTS for diferente de 0, o dicionário receberá também o ano de contratação e o salário.
# Calcule e acrescente, além da idade, com quantos anos a pessoa vai se aposentar.
from datetime import date
dicionario = {}
nome = str(input('Nome: '))
dicionario['Nome'] = nome
ano_de_nascimento = int(input('Ano de nascimento: '))
idade = date.today().year – ano_de_nascimento
dicionario['Idade'] = idade
CTPS = str(input('Possui carteira de trabalho? [S/N]: ')).strip().upper()[0]
while CTPS != 'S' and CTPS != 'N':
CTPS = str(input('Por favor, apenas Sim (S) ou Não (N). Possui carteira de trabalho? [S/N]: ')).strip().upper()[0]
dicionario['CTPS'] = CTPS
if CTPS != 'N':
contratacao = int(input('Ano de contratação: '))
dicionario['Ano de contratação'] = contratacao
salario = float(input('Salário: R$'))
dicionario['Salário'] = salario
falta_apostentadoria = 35 – (date.today().year – contratacao)
ano_aposentadoria = falta_apostentadoria + idade
dicionario['Idade em que se aposenta'] = ano_aposentadoria
print('-=' * 20)
for k, v in dicionario.items():
print(f'{k} >>> {v}')
print('–'*20)
print('FIM')
# DESAFIO 91
# Crie um programa onde 4 jogadores joguem um dado e tenham resultados aleatórios.
# Guarde esses resultados em um dicionário.
# No final, coloque esse dicionário em ordem, sabendo que o vencedor tirou o maior número no dado.
from random import randint
from time import sleep
dicionario = {}
print('Lances dos jogadores:')
for c in range(0, 4):
sleep(1.5)
numsorteado = randint(1, 6)
dicionario[f'Jogador {c+1}'] = numsorteado
print(f'Jogador {c+1} >>> {numsorteado}')
print('–'*20)
sleep(1.5)
print('Ranking dos jogadores:')
dicionario_ordenado = sorted(dicionario.items(), key=lambda x:x[1], reverse=True)
for pos, j in enumerate(dicionario_ordenado):
print(f'{pos+1}º lugar: {j[0]} >>> {j[1]}')
print('–'*20)
print('FIM')
Obrigado pelo conteúdo!
EX 091:
from random import randint
from time import sleep
vencedor = dict()
vencedor['Jogador 1'] = randint(1,6)
vencedor['Jogador 2'] = randint(1,6)
vencedor['Jogador 3'] = randint(1,6)
vencedor['Jogador 4'] = randint(1,6)
print('Valores sorteados: ')
print('=' * 40)
for k, v in vencedor.items():
print(f'O {k} tirou {v}')
sleep(2)
print('=' * 40)
print('Ranking dos jogadores: ')
print('=' * 40)
pos = 1
for i in sorted(vencedor, key = vencedor.get, reverse=True):
print(f'{pos}º lugar: {i} com {vencedor[i]}')
pos += 1
Parabéns! Você manda bem.
Vôce é d+ professor obrigado
#______________________________________
def jogador():
while ctrl:
dcjgd = {}
lsqtdgol = []
wnum = 0
wtotgol = 0
inmjgd = input('Informe o nome do jogador: ')
iqtptd = int(input('Informe a quantas partidas {} jogou?: '.format(inmjgd)))
for iptd in range(0, iqtptd):
wnum += 1
iqtgolptd = int(input('Quantos gols, na {}ª partida '.format(wnum)))
lsqtdgol.append(iqtgolptd)
wtotgol += iqtgolptd
dcjgd = {'Nome': inmjgd, 'Gols': lsqtdgol, 'Total': wtotgol}
print('————————————————-')
print(dcjgd)
print('————————————————-')
print('O campo nome:{}'.format(inmjgd))
print('O campo gols:{}'.format(lsqtdgol))
print('O campo total:{}'.format(wtotgol))
print('————————————————-')
print('O jogador {} jogou {} partidas.'.format(inmjgd, iqtptd))
wnum = 0
for iptd in range(0, iqtptd):
wnum += 1
print('Na {}ª partida, fez {} gol(s)'.format(wnum, lsqtdgol[iptd]))
wmsg =input('Deseja Cadastrar outro(S) ou Cancelar(N)? ')
if wmsg.lower() == 'n':
ctrl = False
obrigado pela explicação
AQUI VAI UMAS DAS MAIORES GAMBIARRAS QUE JÁ FIZ
O programa rodou na força da persistência
EX 091
from random import randint
from time import sleep
jogadores = dict()
print('Valores sorteados')
jogadores["jogador1"] = randint(1, 6)
jogadores["jogador2"] = randint(1, 6)
jogadores["jogador3"] = randint(1, 6)
jogadores["jogador4"] = randint(1, 6)
for k, v in jogadores.items():
print(f'O {k} tirou {v}')
sleep(1)
print('Ranking dos jogadores:')
cont = 0
while True:
for k, v in jogadores.items():
maior = max(jogadores.values())
if maior == 0:
break
if v == maior:
sleep(1)
print(f'{cont + 1}º lugar: {k} com {v}')
jogadores[k] = 0
cont += 1
if cont == 4:
break
list1 = list()
dict1 = dict()
while True:
print('-'*24)
dict1['nome'] = str(input('Nome do Jogador: '))
dict1['gols'] = list()
dict1['total'] = 0
contador = int(input(f'Quantas partidas {dict1["nome"]} jogou? '))
for i in range(1, contador+1):
dict1['gols'].append(int(input(f'Quantos gols na partida {i}? ')))
dict1['total'] += dict1['gols'][i-1]
list1.append(dict1.copy())
r = str(input('Quer continuar? [S/N] ')).lower().strip()
if r == 'n':
break
print('-='*20)
print('cod', f'{"nome":<15}' + f'{"gols":<15}' + f'{"total":<6}')
print('-'*40)
for x, l in enumerate(list1):
print(f'{x:>3} {l["nome"]:<15}{str(l["gols"]):<15}{l["total"]:<6}')
while True:
print('-'*40)
r = int(input('Mostrar dados de qual jogador? '))
if r <= len(list1)-1:
print(f'– LEVANTAMENTO DO JOGADOR {list1[r]["nome"]}:')
for c, v in enumerate(list1[r]["gols"]):
print(f' No jogo {c+1} fez {v} gols.')
elif r == 999:
print('<< VOLTE SEMPRE >>')
break
else:
print(f'ERRO! Não existe jogador com código {r}! Tente novamente.')
blog com varias informações sobre carreiras – vagas de emprego – salários entre outros assuntos da área de T.I.
https://022tech.blogspot.com/2022/07/engenheiro-de-software-o-que-faz-quanto.html
https://022tech.blogspot.com/2022/07/afinal-o-que-e-metaverso-conceito-nfts.html
https://022tech.blogspot.com/2022/07/o-que-faz-um-desenvolvedor-front-end.html
https://022tech.blogspot.com/2022/07/ciencia-da-computacao-curso-carreira-e.html
https://022tech.blogspot.com/2022/07/cientista-de-dados-o-que-e-e-o-que-faz.html
desafio 91 (resolvi sem a resolução, acredito q a do Guanabara deve estar mais simplificada):
from random import randint
from time import sleep
jogadores = {'jogador1': randint(1, 6),
'jogador2': randint(1, 6),
'jogador3': randint(1, 6),
'jogador4': randint(1, 6)}
print('')
print('Valores sorteados:')
for indice, valor in jogadores.items():
print(f' O jogador {indice} tirou {valor}')
sleep(1)
print('Ranking dos jogadores:')
jogadores_sorteio = jogadores.copy()
for c in range(0, len(jogadores)):
maior = max(jogadores_sorteio.values())
for indice, valor in jogadores_sorteio.items():
if valor == maior:
print(f' {c + 1}º Lugar: {indice} com {valor}')
sleep(1)
del jogadores_sorteio[indice]
break
desafio 93:
jogador=dict()
gols=list()
cont=0
jogador['nome']=str(input("Nome do jogador: "))
partidas=int(input(f'Quantas partidas {jogador["nome"]} jogou? '))
for c in range(0, partidas):
gols.append(int(input(f'Quantos gols na partida {c+1} ? ')))
jogador['gols']=gols
jogador['total']=sum(gols)
print('-='*30)
print(jogador)
print('-='*30)
print('-='*30)
for k, v in jogador.items():
print(f'O campo {k} tem valor {v}')
print('-='*30)
print(f'O jogador {jogador["nome"]} jogou {partidas} partidas')
for k, v in enumerate(gols):
print(f'==> Na partida {k+1}, fez {v} gols.')