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

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ธ.ค. 2024

ความคิดเห็น • 26

  •  5 ปีที่แล้ว +10

    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 9 หลายเดือนก่อน +1

    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 ปีที่แล้ว +2

    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.

  • @jaelsondossantos4023
    @jaelsondossantos4023 4 ปีที่แล้ว

    muito bommmm

  • @arionaldoari1
    @arionaldoari1 2 ปีที่แล้ว +1

    Oi, legal. Dá para você fazer novamente, só que com perguntas da biblia? Estou esperando, obrigado.

  • @daniel34645
    @daniel34645 4 ปีที่แล้ว +4

    pode disponibilizar o código?

  • @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?

  • @nassprogramacao2548
    @nassprogramacao2548 ปีที่แล้ว

    estou esperando a parte Gráfica do jogo aparte de Angola

  • @raphaelangel8294
    @raphaelangel8294 3 ปีที่แล้ว +2

    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}%")

  • @mariogames5116
    @mariogames5116 ปีที่แล้ว

    Como faz para deixar as perguntas aleatorias?

  • @ricksanchez2648
    @ricksanchez2648 5 ปีที่แล้ว

    Oi, Como faso para colocar uma mesagem differente para cara acerto?

  • @Raijin_tech
    @Raijin_tech 3 ปีที่แล้ว

    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.

  • @Valterjoaosilva
    @Valterjoaosilva 4 ปีที่แล้ว

    Onde consigo o código completo, o meu não rodou, está dando erro no segundo for.

  • @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]}")

  • @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?

  • @diegoantonio5113
    @diegoantonio5113 3 ปีที่แล้ว

    Você trabalha com programação?

  • @lucascreto7512
    @lucascreto7512 3 ปีที่แล้ว

    como eu faço pra sortear uma pergunta e printar?

  • @kaciosilvapereiraesa4445
    @kaciosilvapereiraesa4445 2 ปีที่แล้ว

    e se eu quisesse fazer essas perguntas de maneira aleatória 5 vezes sem se repetir?

  • @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 4 ปีที่แล้ว +1

      Você pode fazer isso com While

  • @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 11 หลายเดือนก่อน +1

      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!