Python
Resuelto9 respuestas
-
jee pee Moderador¡Bien!
Como mencioné anteriormente, tu código tiene 180 líneas, deberíamos poder hacer lo mismo en 25 líneas ;-)
Repites 14 veces la misma secuencia para cada pregunta; lo esencial de un programador no es hacer el trabajo, sino hacer que lo ejecute la computadora. Estas 14 secuencias podrían constituir un solo bucle repetido. Como indicó yg_be, necesitas trabajar en el uso de bucles con ejemplos simples, códigos de 5/6 líneas para entender bien el funcionamiento.
Y, por ejemplo, una cosa muy sencilla, no deberíamos preocuparnos por las minúsculas y mayúsculas.if Q14.lower() == "c":
ystart.lower() == "oui":
van a tratar todas las formas de la respuesta, lo que ahorra líneas.
-
muzan0jackson Autor¡Muchas gracias, por fin funciona!!!!!!!!!!!
¡Gracias por su paciencia y su ayuda!!!!!! :) -
jee pee ModeradorHas fallado una vez más en el formato del código, debe ser porque es largo.
El if en la línea 41 (y todos los siguientes) debería estar alineado con el if en la línea 30, ahora está mal alineado.
--
Un extranjero es un amigo que aún no hemos conocido. -
muzan0jackson AutorHe seguido al pie de la letra lo que me aconsejaste, pero solo la lista se mezcla, mientras que las preguntas permanecen en el buen orden. Además, cuando cometo un error, me muestra directamente la puntuación sin haber terminado mi cuestionario de 10 preguntas...
Disculpa por las molestias : )-
-
muzan0jackson Autor@jee pee
import random compteur = 0 start = input("Hola, ¿estás listo para jugar?: ") if start == "si": print ("¡Vamos !!!!") elif start == "Si" : print ("¡Vamos !!!!") else : print ("Adiós...") Questions = [ "Q1", "Q2", "Q3", "Q4", "Q5", "Q6", "Q7", "Q8", "Q9", "Q10", "Q11", "Q12", "Q13", "Q14" ] Questions = random.sample(Questions,k = 10) print(Questions) for Q in Questions: if Q == "Q1": Q1 = input("¿Qué significa NSI? : A-Ciencias Numéricas Informáticas B-Nuevas Ciencias Informáticas : ") if Q1 == "A": compteur += 1 print ("¡Bravo !!!") elif Q1 == "a": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") if Q == "Q2": Q2 = input("¿Para qué sirve la variable int? : A-Permite la transformación en flotante B-Convierte en Unicode C-Permite modificar una variable en entero D-Nada, no existe : ") if Q2 == "C": compteur += 1 print ("¡Bravo !!!") elif Q2 == "c": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") if Q == "Q3": Q3 = input("¿Para qué sirve la variable str? A-Nada, no existe B-Permite la transformación en flotante C-Permite transformar la mayoría de las variables de otro tipo en cadenas de caracteres :") if Q3 == "C": compteur += 1 print ("¡Bravo !!!") elif Q3 == "c": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") if Q == "Q4": Q4 = input("¿Para qué sirve la variable floot? A-Permite la transformación en flotante B-Evalúa el contenido de su argumento como si fuera código Python C-Nada, no existe : ") if Q4 == "C": compteur += 1 print ("¡Bravo !!!") elif Q4 == "c": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") if Q == "Q5": Q5 = input("¿Cuál es la conversión en decimal de este número binario 0011? A-3 B-4 C-1 D-11 : ") if Q5 == "A": compteur += 1 print ("¡Bravo !!!") elif Q5 == "a": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") if Q == "Q6": Q6 = input("¿Qué representa F en hexadecimal? A-16 B-11 C-10 D-15 : ") if Q6 == "D": compteur += 1 print ("¡Bravo !!!") elif Q6 == "d": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") if Q == "Q7": Q7 = input("¿Qué representa D en hexadecimal? A-16 B-13 C-10 D-15 : ") if Q7 == "B": compteur += 1 print ("¡Bravo !!!") elif Q7 == "b": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") if Q == "Q8": Q8 = input("¿Quién inventó los primeros algoritmos? A-Charles Babbage B-George Boole C-Al-Khwârizmi D-Al Mahani : ") if Q8 == "C": compteur += 1 print ("¡Bravo !!!") elif Q8 == "c": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") if Q == "Q9": Q9 = input("¿Qué representa A en hexadecimal? A-10 B-11 C-9 D-12 : ") if Q9 == "A": compteur += 1 print ("¡Bravo !!!") elif Q9 == "a": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") if Q == "Q10": Q10 = input("¿Qué representa C en hexadecimal? A-12 B-10 C-14 : ") if Q10 == "A": compteur += 1 print ("¡Bravo !!!") elif Q10 == "a": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") if Q == "Q11": Q11 = input("¿Qué representa E en hexadecimal? A-11 B-10 C-14 : ") if Q11 == "C": compteur += 1 print ("¡Bravo !!!") elif Q11 == "c": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") if Q == "Q12": Q12 = input("¿Qué representa B en hexadecimal? A-12 B-10 C-14 D-11 : ") if Q12 == "D": compteur += 1 print ("¡Bravo !!!") elif Q12 == "d": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") if Q == "Q13": Q13 = input("¿Qué significa CVS? A-Valores Separados por Comas B-Comma Separated Values C- Coca Salsa View : ") if Q13 == "B": compteur += 1 print ("¡Bravo !!!") elif Q13 == "b": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") if Q == "Q14": Q14 = input("¿Qué significa ASCII? A-Código Estándar Armenio para el Intercambio de Información B-Código Estándar Africano para el Intercambio de Información C-Código Estándar Americano para el Intercambio de Información : ") if Q14 == "C": compteur += 1 print ("¡Bravo !!!") elif Q14 == "c": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") print ("Tu puntuación es de :", compteur,"/10") -
-
muzan0jackson Autor@yg_beMe parece que lo he hecho, a menos que me equivoque.
-
jee pee Moderador@muzan0jacksonhay que seleccionar todo el código con el ratón y solo después elegir código+python, ahí fallas en la selección del código y tus etiquetas ccm python no enmarcan tu código, se quedan antes.
-
-
jee pee ModeradorPara mostrar correctamente el código en el foro, debes seleccionar todo el código fuente y luego seleccionar el tipo "código + python". He corregido tu mensaje (editar: tus mensajes)
Cuando ejecuto tu código, me da un errorPreguntas = [ Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12, Q13, Q14]
NameError: name 'Q1' is not defined
ya que los campos no están rodeados por comillas: "Q1" para ser solo texto, no una variable.
Con random podrías seleccionar 10 de las 14 preguntas y luego hacer un bucle sobre estas 10 preguntas con for.
aquí hay un fragmento del código que debes reemplazar y extender a todas las preguntas:
Preguntas = [ "Q1", "Q2", "Q3", "Q4", "Q5", "Q6", "Q7", "Q8", "Q9", "Q10", "Q11", "Q12", "Q13", "Q14" ] Preguntas=random.sample(Preguntas,k=10) print(Preguntas) for Q in Preguntas: if Q == "Q1": Q1 = input("¿Qué significa NSI? : A-Ciencias Numéricas Informáticas B-Nuevas Ciencias Informáticas : ") if Q1 == "A": contador += 1 print ("¡Bravo!!!") elif Q1 == "a": contador += 1 print ("¡Bravo!!!") else : print ("Ay, ay, ay...") if Q == "Q2": Q2 = input("¿Para qué sirve la variable int? : A-Permite la transformación a flotante B-Convierte a Unicode C-Permite modificar una variable a entero D-Nada, no existe : ")
Esto para mantener la lógica de tu código fuente. Así que intenta hacerlo funcionar de esta manera.
Pero podemos mejorarlo, y seguramente dividir su tamaño por 10 ;-))) A ver después
-
muzan0jackson AutorSí, con bucles while y for, pero siempre he tenido dificultades con eso :)
-
-
-
muzan0jackson Autor@yg_be
import random compteur = 0 nb_question = 0 nb_question += 1 start = input("Hola, ¿estás listo para jugar?: ") if start == "sí": print ("¡Vamos !!!!") elif start == "Sí" : print ("¡Vamos !!!!") else : print ("Adiós...") Preguntas = ["P1", "P2", "P3", "P4", "P5", "P6", "P7", "P8", "P9", "P10", "P11", "P12", "P13", "P14"] random.shuffle(Preguntas) print(Preguntas) P1 = input("¿Qué significa NSI? : A-Ciencias Informáticas Numéricas B-Nuevas Ciencias Informáticas : ") nb_question += 1 if P1 == "A": compteur += 1 print ("¡Bravo !!!") elif P1 == "a": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P2 = input("¿Para qué sirve la variable int? : A-Transforma a flotante B-Convierte a Unicode C-Modifica una variable a entero D-Nada, no existe : ") nb_question += 1 if P2 == "C": compteur += 1 print ("¡Bravo !!!") elif P2 == "c": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P3 = input("¿Para qué sirve la variable str? A-Nada, no existe B-Transforma a flotante C-Transforma la mayoría de las variables de otro tipo a cadenas de texto :") nb_question += 1 if P3 == "C": compteur += 1 print ("¡Bravo !!!") elif P3 == "c": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P4 = input("¿Para qué sirve la variable float? A-Transforma a flotante B-Evalúa el contenido de su argumento como si fuera código Python C-Nada, no existe : ") nb_question += 1 if P4 == "C": compteur += 1 print ("¡Bravo !!!") elif P4 == "c": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P5 = input("¿Cuál es la conversión a decimal de este número binario 0011? A-3 B-4 C-1 D-11 : ") nb_question += 1 if P5 == "A": compteur += 1 print ("¡Bravo !!!") elif P5 == "a": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P6 = input("¿Qué representa F en hexadecimal? A-16 B-11 C-10 D-15 : ") nb_question += 1 if P6 == "D": compteur += 1 print ("¡Bravo !!!") elif P6 == "d": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P7 = input("¿Qué representa D en hexadecimal? A-16 B-13 C-10 D-15 : ") nb_question += 1 if P7 == "B": compteur += 1 print ("¡Bravo !!!") elif P7 == "b": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P8 = input("¿Quién inventó los primeros algoritmos? A-Charles Babbage B-George Boole C-Al-Khwârizmi D-Al Mahani : ") nb_question += 1 if P8 == "C": compteur += 1 print ("¡Bravo !!!") elif P8 == "c": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P9 = input("¿Qué representa A en hexadecimal? A-10 B-11 C-9 D-12 : ") nb_question += 1 if P9 == "A": compteur += 1 print ("¡Bravo !!!") elif P9 == "a": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P10 = input("¿Qué representa C en hexadecimal? A-12 B-10 C-14 : ") nb_question += 1 if P10 == "A": compteur += 1 print ("¡Bravo !!!") elif P10 == "a": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P11 = input("¿Qué representa E en hexadecimal? A-11 B-10 C-14 : ") nb_question += 1 if P11 == "C": compteur += 1 print ("¡Bravo !!!") elif P11 == "c": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P11 = input("¿Qué representa E en hexadecimal? A-11 B-10 C-14 : ") nb_question += 1 if P11 == "C": compteur += 1 print ("¡Bravo !!!") elif P11 == "c": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P12 = input("¿Qué representa B en hexadecimal? A-12 B-10 C-14 D-11 : ") nb_question += 1 if P12 == "D": compteur += 1 print ("¡Bravo !!!") elif P12 == "d": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P13 = input("¿Qué significa CVS? A-Valores Separados por Comas B-Valores Separados por Comas C-Vista de Salsa Coca : ") nb_question += 1 if P13 == "B": compteur += 1 print ("¡Bravo !!!") elif P13 == "b": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") P14 = input("¿Qué significa ASCII? A-Código Estándar Armenio para el Intercambio de Información B-Código Estándar Africano para el Intercambio de Información C-Código Estándar Americano para el Intercambio de Información : ") nb_question += 1 if P14 == "C": compteur += 1 print ("¡Bravo !!!") elif P14 == "c": compteur += 1 print ("¡Bravo !!!") else : print ("Ay, ay, ay...") print ("Tu puntuación es de :", compteur,"/10")
#Esto es lo que he hecho, pero no puedo seleccionar 10 preguntas al azar.
-
-
yg_be ColaboradorHola, ¿tienes un mensaje de error?
-
jee pee ModeradorHola,
Para dar formato a las fuentes, encima de la zona de edición de tus mensajes, hay íconos para enriquecer el texto. El que tiene este aspecto<> ▼
permite aplicar al código, siguiendo una lista de valores, el formato correspondiente a su naturaleza (C, Python, Shell, ...).
Un pequeño tutorial aquí: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Devuélvenos tu fuente en esta forma, no como imágenes:def f(texte): codage={'a':111,'b':121,'c':211,'d':311,'e':151,'f':411,'g':113,'h':11,'i':21,'j':71,'k':19,'l':81,'m':100,'n':9,'o':1,'p':8,'q':1234,'r':1119,'s':4111,'t':5111,'u':555,'v':321,'w':0,'x':20,'y':30,'z':40,' ':951,"'":753} liste = [] for lettre in texte: valeur = codage.get(lettre) liste.append(valeur) return liste print(f('bonjour'))
-
muzan0jackson Autor```python
import random
compteur = 0
start = input("Hola, ¿estás listo para jugar ?: ")
if start == "oui":
print("¡Vamos !!!!")
elif start == "Oui":
print("¡Vamos !!!!")
else:
print("Adiós...")
Questions = [Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12, Q13, Q14]
random.shuffle(Questions)
print(Questions)
Q1 = input("¿Qué significa NSI? : A-Ciencias Informáticas Digitales B-Nuevas Ciencias Informáticas : ")
if Q1 == "A":
compteur += 1
print("¡Bravo !!!")
elif Q1 == "a":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
Q2 = input("¿Para qué sirve la variable int? : A-Permite la transformación en flotante B-Convierte a Unicode C-Permite modificar una variable a entero D-Nada, no existe : ")
if Q2 == "C":
compteur += 1
print("¡Bravo !!!")
elif Q2 == "c":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
Q3 = input("¿Para qué sirve la variable str? A-Nada, no existe B-Permite la transformación en flotante C-Permite transformar la mayoría de las variables de otro tipo en cadenas de caracteres :")
if Q3 == "C":
compteur += 1
print("¡Bravo !!!")
elif Q3 == "c":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
Q4 = input("¿Para qué sirve la variable float? A-Permite la transformación en flotante B-Evalúa el contenido de su argumento como si fuera código Python C-Nada, no existe : ")
if Q4 == "C":
compteur += 1
print("¡Bravo !!!")
elif Q4 == "c":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
Q5 = input("¿Cuál es la conversión en decimal de este número binario 0011? A-3 B-4 C-1 D-11 : ")
if Q5 == "A":
compteur += 1
print("¡Bravo !!!")
elif Q5 == "a":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
Q6 = input("¿Qué representa F en hexadecimal? A-16 B-11 C-10 D-15 : ")
if Q6 == "D":
compteur += 1
print("¡Bravo !!!")
elif Q6 == "d":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
Q7 = input("¿Qué representa D en hexadecimal? A-16 B-13 C-10 D-15 : ")
if Q7 == "B":
compteur += 1
print("¡Bravo !!!")
elif Q7 == "b":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
Q8 = input("¿Quién inventó los primeros algoritmos? A-Charles Babbage B-George Boole C-Al-Khwârizmi D-Al Mahani : ")
if Q8 == "C":
compteur += 1
print("¡Bravo !!!")
elif Q8 == "c":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
Q9 = input("¿Qué representa A en hexadecimal? A-10 B-11 C-9 D-12 : ")
if Q9 == "A":
compteur += 1
print("¡Bravo !!!")
elif Q9 == "a":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
Q10 = input("¿Qué representa C en hexadecimal? A-12 B-10 C-14 : ")
if Q10 == "A":
compteur += 1
print("¡Bravo !!!")
elif Q10 == "a":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
Q11 = input("¿Qué representa E en hexadecimal? A-11 B-10 C-14 : ")
if Q11 == "C":
compteur += 1
print("¡Bravo !!!")
elif Q11 == "c":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
Q12 = input("¿Qué representa B en hexadecimal? A-12 B-10 C-14 D-11 : ")
if Q12 == "D":
compteur += 1
print("¡Bravo !!!")
elif Q12 == "d":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
Q13 = input("¿Qué significa CVS? A-Comma Salsa Veranda B-Valores Separados por Comas C-Salsa Coca Cola View : ")
if Q13 == "B":
compteur += 1
print("¡Bravo !!!")
elif Q13 == "b":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
Q14 = input("¿Qué significa ASCII? A-Código Estándar Armenio para Intercambio de Información B-Código Estándar Africano para Intercambio de Información C-Código Estándar Americano para Intercambio de Información : ")
if Q14 == "C":
compteur += 1
print("¡Bravo !!!")
elif Q14 == "c":
compteur += 1
print("¡Bravo !!!")
else:
print("Ay, ay, ay...")
print("Tu puntuación es de :", compteur, "/10")
```
-