Puede practicar cómo aprender a programar haciendo proyectos cortos de línea de comandos en Python. Uno de los proyectos que puedes hacer es un cuestionario interactivo, donde puedes hacerle al usuario diferentes tipos de preguntas.

Las preguntas que puede hacer incluyen preguntas de opción múltiple o preguntas que requieren respuestas escritas. También puede hacer preguntas que tengan respuestas correctas alternativas. Incluso puede hacer que su programa dé pistas al usuario.

Cómo crear la secuencia de comandos de Python y agregar su primera pregunta de prueba

Cree un archivo de Python y agregue su primera pregunta. Si no ha codificado en Python antes, existen muchos cursos y recursos en los que puede aprende python gratis.

  1. Cree un nuevo archivo de texto llamado "InteractiveQuiz.py".
  2. Abra el archivo con cualquier editor de texto y agregue su primera declaración impresa para dar la bienvenida al usuario al cuestionario.
    impresión("Hola, bienvenido al cuestionario de geografía. Responde a las preguntas como se presentan").
  3. instagram viewer
  4. Haz la primera pregunta al usuario. Use la función input () para esperar la respuesta del usuario y almacene su entrada en la variable "userInput".
    impresión("Pregunta 1. ¿Qué ciudad es la capital de Australia?")
    entrada de usuario = entrada ()
  5. Agregue una condición para verificar si la entrada del usuario coincide con la respuesta correcta. Si el usuario respondió correctamente, muéstrele un mensaje "correcto". Si no, muestra la respuesta correcta.
    if (entradausuario.inferior() == "Canberra".más bajo()):
    imprimir("Eso es ¡correcto!")
    más:
    print("Lo siento, la respuesta correcta es Canberra.")
  6. Para ejecutar su cuestionario y probar que su pregunta está funcionando, abra la línea de comando y navegue hasta la ubicación de su archivo de Python. Por ejemplo, si almacenó su archivo en un directorio llamado Escritorio, el comando sería:
    discos compactos Escritorio
  7. Ejecute el comando python para ejecutar el cuestionario.
    pitónCuestionario interactivo.py
  8. Proporcione una respuesta a la pregunta del cuestionario.

Cómo agregar varias preguntas al cuestionario

Puede agregar varias preguntas repitiendo el código anterior. Sin embargo, esto hará que su código sea innecesariamente largo y más difícil de actualizar. Para un mejor enfoque, almacene información sobre la pregunta en un objeto.

  1. En la parte superior del archivo de Python, agregue una clase para almacenar información sobre una pregunta de prueba. Si no lo ha hecho antes, puede obtener más información sobre cómo crear una clase en Python.
    clasePregunta:
    definitivamente__en eso__(yo, texto de pregunta, respuesta):
    uno mismo.questionText = questionText
    uno mismo.respuesta = respuesta

    definitivamente__repr__(uno mismo):
    devolver '{'+ self.questionText +', '+ auto.respuesta +'}'

  2. Debajo de la clase, agregue una matriz de objetos de pregunta. Estos objetos almacenarán el texto de la pregunta que el cuestionario muestra al usuario, junto con la respuesta correcta.
    cuestionarioPreguntas = [
    Pregunta("Pregunta 1. que ciudad es la capital de australia", "Canberra"),
    Pregunta("Pregunta 2. que ciudad es la capital de japon", "tokio"),
    Pregunta("Pregunta 3. cuantas islas tiene filipinas", "7100")
    ]
  3. Reemplace la declaración if existente y el código de entrada del usuario. En su lugar, use un bucle for para iterar sobre la matriz quizQuestions. Para cada pregunta, muestre la pregunta y compare la entrada del usuario con la respuesta correcta.
    para la pregunta en quizQuestions:
    imprimir"{pregunta.preguntaTexto}?")
    entrada de usuario = entrada ()
    if (entradausuario.inferior() == pregunta.respuesta.inferior()):
    imprimir("Eso es ¡correcto!")
    más:
    print (f"Lo siento, la respuesta correcta es {pregunta respuesta}.")

Cómo agregar preguntas de opción múltiple

Puede expandir la clase Pregunta para acomodar preguntas de opción múltiple.

  1. Modifique la clase Pregunta en la parte superior del archivo. Agregue un atributo opcional llamado multipleChoiceOptions.
    clasePregunta:
    definitivamente__en eso__(self, questionText, answer, multipleChoiceOptions=Ninguno):
    uno mismo.questionText = questionText
    uno mismo.respuesta = respuesta
    uno mismo.multipleChoiceOptions = multipleChoiceOptions

    definitivamente__repr__(uno mismo):
    devolver '{'+ self.questionText +', '+ auto.respuesta +', '+ str (self.multipleChoiceOptions) +'}'

  2. Agregue otra pregunta a la matriz quizQuestions. Guarde algunas opciones de opción múltiple para la pregunta.
    cuestionarioPreguntas = [
    Pregunta("Pregunta 1. que ciudad es la capital de australia", "Canberra"),
    Pregunta("Pregunta 2. que ciudad es la capital de japon", "tokio"),
    Pregunta("Pregunta 3. cuantas islas tiene filipinas", "7100"),
    Pregunta("Pregunta 4. ¿Qué país ocupa la mayor parte de la masa terrestre?", "b", ["(a) Estados Unidos", "(b) Rusia", "c) Australia", "(d) Antártida"]),
    ]
  3. Modifique la parte del bucle for que muestra la pregunta al usuario. Si existen opciones de opción múltiple para la pregunta, muéstrelas después de la pregunta y antes de buscar la entrada del usuario.
    para la pregunta en quizQuestions:
    si (pregunta.multipleChoiceOptions != Ninguna):
    imprimir"{pregunta.preguntaTexto}?")
    poropciónenpregunta.multipleChoiceOptions:
    impresión(opción)
    entrada de usuario = entrada ()
    más:
    imprimir"{pregunta.preguntaTexto}?")
    entrada de usuario = entrada ()

    if (entradausuario.inferior() == pregunta.respuesta.inferior()):
    imprimir("Eso es ¡correcto!")
    más:
    print (f"Lo siento, la respuesta correcta es {pregunta respuesta}.")

Cómo agregar una pregunta que tiene respuestas correctas alternativas

A veces hay preguntas en las que el usuario puede escribir parte de la respuesta, pero técnicamente sigue siendo correcta.

Por ejemplo, una de las preguntas de su cuestionario podría ser "¿En qué hemisferio se encuentra Japón?". En este caso, el usuario puede escribir "Norte", "Norte" o "Hemisferio Norte" y seguir siendo correcto.

  1. Agregue otro atributo opcional a la clase Pregunta. Este atributo contendrá cualquier posible respuesta correcta alternativa que el usuario pueda ingresar.
    clasePregunta:
    definitivamente__en eso__(self, questionText, answer, multipleChoiceOptions=Ninguno, AlternativeAnswers=Ninguno):
    uno mismo.questionText = questionText
    uno mismo.respuesta = respuesta
    uno mismo.multipleChoiceOptions = multipleChoiceOptions
    uno mismo.respuestas alternativas = respuestas alternativas

    definitivamente__repr__(uno mismo):
    devolver '{'+ self.questionText +', '+ auto.respuesta +', '+ str (self.multipleChoiceOptions) +', '+ str (self.respuestas alternativas) +'}'

  2. Agregue otra pregunta a la matriz quizQuestions. Agregue "Hemisferio Norte" como la respuesta correcta. Agregue "norte" y "norte" como respuestas correctas alternativas.
    cuestionarioPreguntas = [
    #...
    Pregunta("Pregunta 5. en que hemisferio se encuentra japon", "Hemisferio norte", [], ["norte", "del Norte"]),
    ]
  3. Agregue otra condición a la instrucción if que verifique si el usuario ha ingresado una respuesta correcta alternativa.
    if (entradausuario.inferior() == pregunta.respuesta.inferior()):
    imprimir("Eso es ¡correcto!")
    elif (pregunta.respuestas alternativas!= Ningunay entrada de usuario.inferior() en pregunta.respuestas alternativas):
    imprimir("Eso es ¡correcto!")
    más:
    print (f"Lo siento, la respuesta correcta es {pregunta respuesta}.")

Cómo dar sugerencias al usuario

Puede modificar la secuencia de comandos para que el usuario no pueda avanzar a la siguiente etapa hasta que responda correctamente la pregunta actual. En este caso, agregue una variable para contar cuántas veces el usuario ha ingresado una respuesta incorrecta. Después de tres conjeturas incorrectas, puede darle una pista al usuario.

  1. Modifique la clase Pregunta para usar un nuevo atributo de sugerencia.
    clasePregunta:
    definitivamente__en eso__(self, questionText, answer, hint=Ninguno, multipleChoiceOptions=Ninguno, AlternativeAnswers=Ninguno):
    uno mismo.questionText = questionText
    uno mismo.respuesta = respuesta
    uno mismo.hint = pista
    uno mismo.multipleChoiceOptions = multipleChoiceOptions
    uno mismo.respuestas alternativas = respuestas alternativas

    definitivamente__repr__(uno mismo):
    devolver '{'+ self.questionText +', '+ auto.respuesta +', '+ auto.pista +', '+ str (self.multipleChoiceOptions) +', '+ str (self.respuestas alternativas) +'}'

  2. Añade pistas a todas las preguntas del cuestionario.
    cuestionarioPreguntas = [
    Pregunta("Pregunta 1. que ciudad es la capital de australia", "Canberra", "Comienza con una C"),
    Pregunta("Pregunta 2. que ciudad es la capital de japon", "tokio", "Comienza con una T"),
    Pregunta("Pregunta 3. cuantas islas tiene filipinas", "7100", "Un número entre 7000 y 8000"),
    Pregunta("Pregunta 4. ¿Qué país ocupa la mayor parte de la masa terrestre?", "b", "El país se extiende por dos continentes.", ["(a) Estados Unidos", "(b) Rusia", "c) Australia", "(d) Antártida"]),
    Pregunta("Pregunta 5. en que hemisferio se encuentra japon", "Hemisferio norte", "La mitad superior de la Tierra", [], ["norte", "del Norte"]),
    ]
  3. Elimine las declaraciones if que verifican si el usuario respondió la pregunta correctamente. Reemplácelos con un bucle while. El bucle while se repetirá continuamente hasta que el usuario obtenga la respuesta correcta. Dentro del ciclo while, agrega un conteo que mostrará la pista una vez que el usuario responda incorrectamente tres veces.
    para la pregunta en quizQuestions:
    si (pregunta.multipleChoiceOptions != Ninguna):
    imprimir"{pregunta.preguntaTexto}?")
    poropciónenpregunta.multipleChoiceOptions:
    impresión(opción)
    entrada de usuario = entrada ()
    más:
    imprimir"{pregunta.preguntaTexto}?")
    entrada de usuario = entrada ()
    cuenta = 0
    tiempo (Entradausuario.inferior() != pregunta.respuesta.inferior()):
    si (pregunta.respuestas alternativas!= Ningunay entrada de usuario.inferior() en pregunta.respuestas alternativas):
    descanso;
    cuenta = cuenta + 1
    si (cuenta >= 3):
    imprimir"Pista: {pregunta.pista}.")
    entrada de usuario = entrada ()
    más:
    imprimir("Eso esno correcto, probar otra vez.")
    entrada de usuario = entrada ()

    imprimir("Eso es ¡correcto!")

  4. Vuelva a ejecutar su cuestionario en la línea de comando usando el comando python.
    pitónCuestionario interactivo.py
  5. Responde las preguntas del cuestionario.

Creación de pequeñas aplicaciones usando Python

Uno de los proyectos que puede realizar mientras aprende a codificar en Python es un cuestionario interactivo. En el cuestionario, puede presentar diferentes tipos de preguntas al usuario.

Puede almacenar información sobre las preguntas del cuestionario en un objeto, para evitar que repita su código para cada pregunta.

Para mejorar tus habilidades en Python, es una buena idea practicar diferentes ejercicios y ejemplos. Puedes echar un vistazo a otros ejemplos de Python que pueden ayudarte a aprender.