Sistema de perguntas e respostas com dicionários em Python - Aula 21

  Рет қаралды 13,260

Otávio Miranda

Otávio Miranda

Күн бұрын

Nessa aula vamos aprender a criar um sistema de perguntas e respostas usando dicionários em Python. É uma aula muito importante porque vamos juntar muitas coisas que aprendemos em aulas anteriores para criar um pequeno sistema simples e útil.
Link da Playlist: • Curso de Python - Cria...
#cursodepython #python #python3
Cursos de Python e JavaScript com desconto:
www.otaviomira...

Пікірлер: 26
4 жыл бұрын
Este curso não está completo. São apenas algumas aulas liberadas gratuitamente por amor a comunidade Python. O curso completo encontra-se na Udemy e tem mais de 200 aulas, link na descrição do vídeo.
@pedromiotto
@pedromiotto 7 ай бұрын
valeu pela aula, esse monte de dicionário um dentro do outro mais esse tanto de for dá uma confusão danada😅
@maiconreis9276
@maiconreis9276 5 жыл бұрын
Praticamente uma aplicação prática dos conceitos mais básicos vistos até agora. Utilizou dicionários, variáveis, operador for, e operadores matemáticos. Faltou utilizar as flags split, upper, capitalize, pop, etc... Ótima aula para condensar conhecimento.
@arionaldoari1
@arionaldoari1 2 жыл бұрын
Oi, legal. Dá para você fazer novamente, só que com perguntas da biblia? Estou esperando, obrigado.
@ipcmeanthony1905
@ipcmeanthony1905 Жыл бұрын
Como faria para fazer este mesmo programa e executar ele podendo mandar para alguém mexer também como um aplicativo normal pelo celular e computar?
@badboy1234645
@badboy1234645 4 жыл бұрын
pode disponibilizar o código?
@Raijin_tech
@Raijin_tech 2 жыл бұрын
Boa noite! Como esse programa seria possível criar um programa de perguntas e respostas para estoque indicando a posição do produto. Tipo eu pergunto em um microfone sobre determinado nome de produto e ele responde a posição 1 por exemplo. Não quero digitar a pergunta quero fazer a pergunta eu mesmo para o aplicativo.
@BrGarcia
@BrGarcia 2 жыл бұрын
Bom dia, peguei a ideia da sua questao e tentei incrementar com outras coisa pra praticar principalmente a questao de dicionario e listas...... fica a sugestao pra glr tbm... import random perguntas = { 1:{ 'questao':'quanto e 2+2?', 'resposta' : {'A':'1', 'B': '2', 'C':'4', 'D': '6'}, 'gabarito': 'C'}, 2:{ 'questao':'quanto e 2+1?', 'resposta' : {'A':'3', 'B': '2', 'C':'4', 'D': '6'}, 'gabarito': 'A'} #ETC AQUI PODE COLCOAR N QUESTOES } def corretor(resp:list,gab:list)->list: """Corrigir a prova, recebe o gabarito e as resposta e retornar nota do aluno com uma lista das respostas certas e erradas.""" qtd = len(gab) #VERIFICA O TAMANHO DO GABARITO PRA DETERMINAR A QTD DE QUESTOES E O PESO DE CADA UMA peso_nota = 10.0/qtd #ATRIBUI O PESO DE ACERTO A CADA QUESTAO nota = 0.0 correcao = [] for r, g in zip(resp, gab): #FOR COMPARANDO AS RESPOSTAS COM O GABARITO, INCREMENTANDO A NOTA E INCLUINDO ELAS NUMA TABELA if r == g: correcao.append(1) nota += peso_nota else: correcao.append(0) return nota , correcao gabarito_aluno = [] gabarito_prova = [] numero_de_questores = int(input("Numero de questoes: ")) if numero_de_questores == 0: numero_de_questores += 1 sorteio = random.sample(range(1,6),numero_de_questores) for i in sorteio: print(perguntas[i]['questao']) for n in perguntas[i]['resposta']: print(f"{n} - {perguntas[i]['resposta'][n]}") resposta_aluno = str.capitalize(input("Digite sua resposta: ")) gabarito_aluno.append(resposta_aluno) gabarito_prova.append(perguntas[i]['gabarito']) #CORREÇÃO DA PROVA E NOTA DO ALUNO nota_aluno = corretor(list(gabarito_aluno),list(gabarito_prova)) print(f"A nota do aluno foi: {nota_aluno[0]}") print(f"Os acertos do aluno: {nota_aluno[1]}")
@mariogames5116
@mariogames5116 Жыл бұрын
Como faz para deixar as perguntas aleatorias?
@nassprogramacao2548
@nassprogramacao2548 Жыл бұрын
estou esperando a parte Gráfica do jogo aparte de Angola
@Valterjoaosilva
@Valterjoaosilva 4 жыл бұрын
Onde consigo o código completo, o meu não rodou, está dando erro no segundo for.
@ricksanchez2648
@ricksanchez2648 4 жыл бұрын
Oi, Como faso para colocar uma mesagem differente para cara acerto?
@jaelsondossantos4023
@jaelsondossantos4023 3 жыл бұрын
muito bommmm
@raphaelangel8294
@raphaelangel8294 3 жыл бұрын
Pessoal que ficou com problema com o código. Eu fiz o meu aqui com algumas condições a mais: import time perguntas = { '1-Pergunta': { 'pergunta': 'Qual é a síndrome que ataca mais pessoas no mundo atualmente?', 'alternativas': {'a': 'Síndrome do pânico', 'b': 'Síndromes Genéticas', 'c': 'Síndrome do pensamento acelerado'}, 'correta': 'c', }, '2-Pergunta': { 'pergunta': 'Qual a linguagem de programação com maior ascensão na atualidade?', 'alternativas': {'a': 'Java', 'b': 'C++', 'c': 'Javascript', 'd': 'Python'}, 'correta': 'd', }, '3-Pergunta': { 'pergunta': 'Qual nome da IA com capacidade de atuar no âmbito jurídico?', 'alternativas': {'a': 'ROSS', 'b': 'WATSON', 'c': 'IBM', 'd': 'Amazon'}, 'correta': 'a', }, } resposta_correta, resposta_errada, totalpontos = 0, 0, 0 print("\033[1;33mBem vindo ao QUIZ sobre conhecimentos gerais\033[m") while True: print(""" Instruções antes de começar o jogo Digite: I - para acessar painel de dicas; Digite: C - para começar a jogar; Digite: S - se quiser sair sem iniciar o jogo. """) instru = input("Escolha uma das opções acima: ").strip().upper()[0] if instru not in 'ICS': continue if instru in 'I': print(""" PAINEL DE DICAS! O jogo irá passar questões relacionado a atualidade do mundo e colocará três alternativas para você escolher. Caso você acertar uma alternativa você ganhará um ponto para passar de nível, e se perder irá voltar de nível. Os temas são: Tecnologia, Psicologia, Direito, Crimes, Política. """) elif instru in 'C': print("O jogo irá começar em... ") for i in range(0, 4): print(i) time.sleep(0.50) break if instru in 'S': quit() print("-="*10, " QUIZ - PERGUNTAS E RESPOSTAS ", "-="*10) for pk, pv in perguntas.items(): print(f"{pk}: {pv['pergunta']}") print() print("ALTERNATIVAS:") for ak, av in pv['alternativas'].items(): print(f" {ak}) {av}") print() while True: resposta_user = input("Escolha uma alternativa: ").strip()[0] if resposta_user in pv['alternativas'].keys(): break if resposta_user == pv['correta']: print("Parabéns meu caro, você acertou essa questão!") resposta_correta += 1 totalpontos += 1 else: print("Você errou e perdeu um ponto!") resposta_errada += 1 totalpontos -= 1 print("Computando os resultados...") time.sleep(2) print(f"De {len(perguntas)} você acertou {resposta_correta} e errou {resposta_errada}") print(f"Sua pontuação atual é {totalpontos}") print(f"A porcentagem de acertos foi {resposta_correta / len(perguntas) * 100}%")
@marceloscarrera589
@marceloscarrera589 3 жыл бұрын
Show de bola!!!
@diegoantonio5113
@diegoantonio5113 3 жыл бұрын
Você trabalha com programação?
@kaciosilvapereiraesa4445
@kaciosilvapereiraesa4445 2 жыл бұрын
e se eu quisesse fazer essas perguntas de maneira aleatória 5 vezes sem se repetir?
@joaopedro-yf9dr
@joaopedro-yf9dr 3 жыл бұрын
quando eu termino de responder as minhas perguntas no prompt, ele fecha automaticamente, não consigo ver a mensagem de porcentagem e a de acertos, alguém sabe como ajudar?
@UMMONARQUISTA
@UMMONARQUISTA 4 жыл бұрын
Tem algum comando de Retorno? Tipo pergunta1 = input('Olá, qual seu nome?') print('Olá,',pergunta1) pergunta2 = input('deseja retornar a primeira pergunta?') if pergunta2 == 'Sim': return to pergunta1 A parte do "return to pergunta1" é só um exemplo.... Só queria saber se tem como fazer um negócio assim, iria facilitar muito XD
@sem-nome-west
@sem-nome-west 3 жыл бұрын
Você pode fazer isso com While
@lucascreto7512
@lucascreto7512 3 жыл бұрын
como eu faço pra sortear uma pergunta e printar?
@pedrocorreadeguamaspelta1113
@pedrocorreadeguamaspelta1113 3 жыл бұрын
Usa a função randint
@pedrocorreadeguamaspelta1113
@pedrocorreadeguamaspelta1113 3 жыл бұрын
From random import randint (Isso vc vai importar ela)
@mateusfarias8117
@mateusfarias8117 3 жыл бұрын
@@pedrocorreadeguamaspelta1113 tem como vc mandar o codigo? nao entendi como vc disse pfv
@Gerson.machado
@Gerson.machado 2 жыл бұрын
Alguém pode me mostrar onde estou errando? Essa caceta de for me buga a cabeça... Quero apenas exibir dessa forma na tela: Carro 1 Brand: Ford Model: Mustang Year: 1964 e segue adiante Código ----------------------- car = { 'Carro 1':{ 'brand': 'Ford', 'model': {'Mustang',}, 'year': '1964', }, 'Carro 2':{ 'brand': 'Chevrolet', 'model': {'Pickup',}, 'year': '1990', }, 'Carro 3':{ 'brand': 'Mercedez', 'model': {'Edição Luxo 2020',}, 'year': '2020', }, 'Carro 4':{ 'brand': 'KIA', 'model': {'Sportage',}, 'year': '2015', }, } for tit1, subtit in car.items(): print(f'{tit1}') for i, j in subtit['model'].items(): print(f'{i}:{j["model"]}') print()
@matcbv
@matcbv 9 ай бұрын
Feliz Natal amigo! Ficaria dessa forma: for c, ic in car.items(): print(c) for e, r in ic.items(): print(f'{e.title()}: {r.title()}') print() c - carro ic - índice do carro e - especificação r - resposta Você deve fazer um for dentro de outro for, por ser um dicionário contendo outros dicionários. Espero ter ajudado de alguma forma. Abraços!
Sets em Python (Conjuntos) - Aula 22
15:31
Otávio Miranda
Рет қаралды 10 М.
Como encontrar aquivos no sistema com Python - Aula 31
30:01
Otávio Miranda
Рет қаралды 10 М.
А что бы ты сделал? @LimbLossBoss
00:17
История одного вокалиста
Рет қаралды 8 МЛН
小天使和小丑太会演了!#小丑#天使#家庭#搞笑
00:25
家庭搞笑日记
Рет қаралды 57 МЛН
Curso Python #19 - Dicionários
45:17
Curso em Vídeo
Рет қаралды 395 М.
Como Trabalhar com Dicionários em Python - (Exemplos Práticos)
12:41
Hashtag Programação
Рет қаралды 54 М.
Iterando strings com while em Python - Aula 9
26:59
Otávio Miranda
Рет қаралды 9 М.
Como criar, ler e escrever arquivos com Python - Aula 33
25:49
Otávio Miranda
Рет қаралды 47 М.
List Comprehension em Python - (Compreensão de lista) - Aula 23
15:35
CHATGPT + UNITY: FIZ UM JOGO USANDO A INTELIGÊNCIA ARTIFICIAL DO MOMENTO
9:54
10 Important Python Concepts In 20 Minutes
18:49
Indently
Рет қаралды 190 М.
Criando um ChatBot em Python com ChatGPT em 20 Minutos
23:03
Hashtag Programação
Рет қаралды 67 М.
Dicionários em Python - Aula 20
38:31
Otávio Miranda
Рет қаралды 11 М.
Python - Jogo da adivinhação (WHILE)
26:06
HUMOR QUÂNTICO
Рет қаралды 998
А что бы ты сделал? @LimbLossBoss
00:17
История одного вокалиста
Рет қаралды 8 МЛН