2017-09-23 1 views
0

Derzeit wird ein wahres oder falsches Quiz erstellt. Würde jemand so freundlich sein, mir mit dem Code zu helfen? Da ich nicht in der Lage bin, die Anzahl der Fragen anzuzeigen, die der Benutzer beantworten möchte. Die Fragen sind alle in einem Array angeordnet, aber ich habe Probleme damit.Zeigt die Anzahl der Fragen an, die der Benutzer eingibt

Zum Beispiel:

-Es gibt 20 Fragen und das Quiz fragt den Benutzer, für wie viele Fragen sie

-User betritt 5 Fragen

-Quiz zeigt 5 zufällige Fragen aus beantworten wollen der 20 in der Liste

Vielen Dank im Voraus!

questionlist = [" "] 
 

 
answerslist=[" "] 
 

 
score = 0 
 

 
questions = 0 
 

 
while True : 
 
     
 
questions = int(input("How many questions do you want to answer today? ")) 
 
     
 
if questions <= len(questionslist) : 
 
      
 
break 
 
     
 
print("I only have ", len(questions_list), " in my database") 
 

 
while len(questionslist) > 0 : 
 

 

 
I need help after this please

+2

hinzufügen, was Sie versucht haben und wo Sie stecken bleiben? –

Antwort

0

Bruch dieses Problem in einzelne Schritte, konzentrieren sich dann auf dem Code für jeden einzelnen Teil.

Ich würde die Benutzereingabe für wie viele Fragen, die er/sie wünscht, abrufen und eine Schleife erstellen, die Fragen von dieser Hash-Karte für die angeforderte Anzahl von Fragen nach dem Zufallsprinzip abruft! Um die Fragen zufällig zu erhalten, sollten Sie einen Zufallsgenerator verwenden, der eine Zahl zwischen 0 und 1 zurückgibt. Sie sollten diese Zahl dann mit der Länge des Quiz multiplizieren und diese Zahl in eine Ganzzahl umwandeln. Dies ist dann der Index für Ihr Array. Sie müssen dann die Fragennummer in einem anderen Array speichern und prüfen, ob diese Frage beim nächsten Mal, wenn eine zufällige Frage ausgewählt wurde, bereits gestellt wurde.

In Pseudo-Code Form:

number_of_questions = retrieve_user_input() 
questions_asked_thus_far = [] //empty array 
question_number = 1 
while (question_number<=number_of_questions): 
    question_number = int(random_number_generator * quiz_array.length) 
    if question_number is not in questions_asked_thus_ far   
     questions_asked_thus_far.append(question_number) 
     question_number ++ 
     print question_number 
+0

Ich werde das definitiv versuchen! Vielen Dank! Sehr hilfreich. – HelpMe

+0

vergessen Sie nicht zu upvote oder markieren Sie als richtige Antwort @HelpMe – user7343117

1

mit Python 2.7:

import random 
questions_answers = {"Question1?":"answer1","Question2?":"answer2","Question3?":"answer3","Question4?":"answer4","Question5?":"answer5"} 
score = 0 
while True : 
    questions = int(raw_input("How many questions do you want to answer today? ")) 
    if questions == 0: 
     break 
    if questions > len(questions_answers) : 
     print("I only have {} in my database".format(len(questions_answers))) 
     break 
    for i in range(1, questions+1): 
     rand_item = random.choice(questions_answers.keys()) 
     print(rand_item) 
     answer = raw_input("Enter your answer:") 
     if answer == questions_answers[rand_item]: 
      print("Correct") 
      score+=1 
     else: 
      print("Wrong") 
    print ("Your score is {} out of {}".format(score, questions)) 
+0

Wenn ich könnte upvote würde ich! Vielen Dank für Ihre freundliche Hilfe, Sie haben mich wirklich aus diesem unordentlichen Loch gezerrt. – HelpMe

+0

Bitte markieren Sie die Frage als beantwortet, wenn Sie gefunden haben, was Sie suchen. –

Verwandte Themen