Ir ao conteúdo
  • Cadastre-se

Python Python criando condições ou laço


Posts recomendados

Citação

print("Agora ira começar um joguinho. \n")
print("Comece digitando nome do seu personagem e o sexo.\n")
nome = input("Qual seu nome: ")
sexo = input("Qual seu sexo: ")
print("Agora ira começar seleção de niveis, lembre-se as perguntas sao de acordo com nivel escolhido:\n 1-Basico\n 2-Intermediario\n 3-Avançado ")
nome1 = input("\n Qual nivel:")
if nome1 == '1':
    pergunta = input("Para que serve o mouse? \n 1-Ponteiro mexer \n 2-Ligar computador \n 3-Nao fazer nada \n Responda:")
    if pergunta == '1':
        print("\nAcertou!")
    else:
        print("\nErrou!")
if nome1 == '2':
    pergunta2 = input("O que significa VLSM? \n 1-Dimensionamento de redes e variaves \n 2-Divisão de Redes e Sistemas \n 3-Vision Logic Master Tec \n Responda:")
    if pergunta2 == '1':
        print("\nAcertou!")
    else:
        print("\nErrou!")
if nome1 == '3':
    pergunta3 = input("O que é Data Mining? \n 1-Particionamento de decisão \n 2-Demosntração em nuvem \n 3-Minimização de dados \n Responda:")
    if pergunta3 == '3':
        print("Acertou.!")
    else:
        print("Errou.!")

Então galera, estou com esse codigo e funciona tranquilo, so que meu desafio agora, é colocar as perguntas em um laço, ou seja la em cima quando ele escolher o nivel das perguntas, ele cair no nivel escolhido e ali aparecer varias perguntas para ele responder ou caso ele nao queira mais responder ele sair e se possivel mostrar os acertos que ele teve "essa parte nao necessaria" . De já é isso, queria dicas galera e obrigado.

 

Link para o comentário
Compartilhar em outros sites

Acho que é isso que você procura! Porém dessa forma seu Quiz vai ficar com uma codificação gigante!

numero_de_acertos = 0
numero_de_erros = 0

print(100*'-')
print("Agora ira começar um joguinho.")
print(100*'-')

print("\nComece digitando nome do seu personagem e o sexo.\n")
nome = input("Qual seu nome: ")
sexo = input("Qual seu sexo: ")

jogar = True
while jogar == True:

    print(100*'-')
    print(f"\n {nome}, agora irá começar seleção de níveis, lembre-se as perguntas são de acordo com nivel escolhido:\n\n 1-Basico\n 2-Intermediario\n 3-Avançado\n\n 4-Sair ")
    nome1 = input("\n Qual nivel:")
    if nome1 == '1':
        pergunta = input("\n\nPara que serve o mouse?\n 1-Ponteiro mexer\n 2-Ligar computador\n 3-Nao fazer nada\n\n Responda:")
        if pergunta == '1':
            numero_de_acertos +=1
            print("\n\nAcertou!\n")
        else:
            numero_de_erros +=1
            print("\n\nErrou!\n")
    if nome1 == '2':
        pergunta2 = input("\n\nO que significa VLSM?\n 1-Dimensionamento de redes e variaves\n 2-Divisão de Redes e Sistemas\n 3-Vision Logic Master Tec\n\n Responda:")
        if pergunta2 == '1':
            numero_de_acertos +=1
            print("\n\nAcertou!\n")
        else:
            numero_de_erros +=1
            print("\n\nErrou!\n")
    if nome1 == '3':
        pergunta3 = input("\nO que é Data Mining?\n 1-Particionamento de decisão\n 2-Demosntração em nuvem\n 3-Minimização de dados\n Responda:")
        if pergunta3 == '3':
            numero_de_acertos +=1
            print("\n\nAcertou.!\n")
        else:
            numero_de_erros +=1
            print("\n\nErrou.!\n")

    if nome1 =='4':
        jogar = False

print(3*'\n')
print(100*'-')
print(f'Fim de Jogo {nome}!\nVocê obteve:\nTotal de acertos igual à: {numero_de_acertos}\nTotal de erros igual à: {numero_de_erros}')
print(100*'-')

Você poderia também trabalhar com listas randômicas para pegar perguntas aleatórias na lista de acordo com o nível escolhido.

Listas Python: 

https://www.devmedia.com.br/como-trabalhar-com-listas-em-python/37460

http://excript.com/python/funcoes-dicionarios.html

http://excript.com/python/tuplas-python.html

http://turing.com.br/pydoc/2.7/tutorial/datastructures.html

 

Números aleatórios: https://cafeinacodificada.com.br/modulo-random-python/

 

A sua variável pergunta poderá receber de uma lista a pergunta com a resposta, através do número gerado aleatório(random) que vai buscar dentro do indice da sua lista aquele valor e associar a variável pergunta.

 

É uma forma de ter as perguntas aleatórias, não ordenadas e assim não ficar tão previsível.

 

Mas eu acho que o legal seria usar um BD SQLite que roda localmente, é distribuível, pois é um pequeno arquivo que vai conter todas as perguntas e respostas.

https://www.carlissongaldino.com.br/post/um-tutorial-passo-passo-para-sqlite-em-python

 

Eu entendo que são coisas mais "adiantadas", mas quando puder vá estudando isso e praticando com pequenos programas a parte no python para que você veja e aprenda como funciona o mecanismo do SQLite3.

Link para o comentário
Compartilhar em outros sites

@fspjonny  Pow muito obrigado, isso que eu tava pesquisando como buscar perguntas aleatórias, obrigado. E ao codigo que o senhor postou eu fiz algo diferente usando função, lhe mostrar.

def nivel1():
    pergunta = input("Para que serve o mouse? \n 1-Ponteiro mexer \n 2-Ligar computador \n 3-Nao fazer nada \n Responda:")
    if pergunta == '1':
        print("\nAcertou!")
    else:
        print("\nErrou!")

    pergunta2 = input("Bla bla bla? \n 1-Ponteiro mexer \n 2-Ligar computador \n 3-Nao fazer nada \n Responda:")
    if pergunta2 == '1':
        print("\nAcertou!")
    else:
        print("\nErrou!")

    pergunta3 = input("Bla bla bla? \n 1-Ponteiro mexer \n 2-Ligar computador \n 3-Nao fazer nada \n Responda:")
    if pergunta3 == '1':
        print("\nAcertou!")
    else:
        print("\nErrou!")

def nivel2():
    pergunta = input("O que significa VLSM? \n 1-Dimensionamento de redes e variaves \n 2-Divisão de Redes e Sistemas \n 3-Vision Logic Master Tec \n Responda:")
    if pergunta == '1':
        print("\nAcertou!")
    else:
        print("\nErrou!")
    ....

def nivel3():
    pergunta = input("O que é Data Mining? \n 1-Particionamento de decisão \n 2-Demosntração em nuvem \n 3-Minimização de dados \n Responda:")
    if pergunta == '3':
        print("Acertou.!")
    else:
        print("Errou.!")
    ....


print("Agora ira começar um joguinho. \n")
print("Comece digitando nome do seu personagem e o sexo.\n")
nome = input("Qual seu nome: ")
sexo = input("Qual seu sexo: ")
nivel = 99
while(nivel != 's'):
    print("Agora ira começar seleção de niveis, lembre-se as perguntas sao de acordo com nivel escolhido:\n 1-Basico\n 2-Intermediario\n 3-Avançado\n s-sair ")
    nivel = input("\n Qual nivel:")
    if nivel == '1':
        nivel1()
    if nivel == '2':
      nivel2()
    if nivel == '3':
      nivel3()

 

adicionado 2 minutos depois

@fspjonny caraca que massa agora entendi como colocar para contar os acertos, poxa que massa, muito obrigado mesmo pela dica.

Link para o comentário
Compartilhar em outros sites

Ok, o que você fez é muito parecido com o que sugeri sobre listas, nesse caso acima você apenas agrupou suas perguntas dentro de funções(não sabia que voce já conhecia funções) e funciona assim também, mas seu código já deu uma esticada e ficará ainda muito mais extenso no momento em que você começar a colocar muitos if's e else's, de perguntas e a fazer buscas aleatórias em cada uma dessas funções em mais perguntas que forem inseridas com mais if's e else's, isso levando em conta que você quer que suas perguntas não sejam exibidas de forma sequencial, então por isso eu sugeri uma lista, percebeu o problema?.

 

Usando funções de consulta, você pode ler uma lista ou mais listas e retornar valores a sua função e trabalhar nelas a validação e exibição dos valores ao usuário.

 

Se você fizer um bom uso de funções com listas, seu código fica menor, mais legível e de fácil manutenção.

Link para o comentário
Compartilhar em outros sites

Consegui um tempinho aqui e fiz isso rapidinho sem muito tratamento ou verificação de acertos e erros, mas veja meu exemplo de lista com função para você ter uma ideia.

from random import randint
# Popule a lista com mais perguntas e respostas
lista = [('1','A cor do Céu é?','azul'), ('2','A cor do Sol é?','amarelo'), ('3','A vegetação tem cor?','verde')]

def consultaLista():
    numero_aleatorio = randint(0, len(lista) - 1)
    pergunta = lista[numero_aleatorio][1]
    resposta_correta = lista[numero_aleatorio][0]

    print('\n'+pergunta+'\n')

    for resp in range(len(lista)):
        print(f'{resp+1} - {lista[resp][2]}')

    print('\nS - Sair')

    sua_resposta = input("\nQual a resposta:")

    if sua_resposta == 'S' or sua_resposta == 's':
        exit()
    elif sua_resposta == resposta_correta:
        print("\nVocê acertou!\n")
    else:
        print("\nVoce errou!\n")

jogar = True
while jogar == True:
    consultaLista()

O resultado na tela seria esse:

image.png.0b900e432c5a150dca646b5e257ebf8c.png

 

Quanto mais perguntas e respostas você colocar lá na lista, maior é a opção de respostas do usuário.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!