Home » Articole » Articole » Calculatoare » Programare » Python » Python: Exemple de liste

Python: Exemple de liste

postat în: Python 0

test.py

## Acest program rulează un test de cunoștințe

# În primul rând, primește întrebările de test
# Mai târziu, acesta va fi modificat pentru a utiliza fișierul io.
def get_questions():
    # observați cum datele sunt stocate ca o listă de liste
    return [["What color is the daytime sky on a clear day? ", "blue"],
            ["What is the answer to life, the universe and everything? ", "42"],
            ["What is a three letter word for mouse trap? ", "cat"]]

# Aceasta va testa o singură întrebare
# ia în considerare o singură întrebare
# returnează True dacă utilizatorul a tastat răspunsul corect, în caz contrar False

def check_question(question_and_answer):
    # extrage întrebarea și răspunsul din listă
    # Această funcție preia o listă cu două elemente, o întrebare și un răspuns.  
    question = question_and_answer[0]   
    answer = question_and_answer[1]
    # dă întrebarea utilizatorului
    given_answer = input(question)
    # compară răspunsul utilizatorului cu răspunsul testerului
    if answer == given_answer:
        print("Correct")
        return True
    else:
        print("Incorrect, correct was:", answer)
        return False

# Aceasta va trece prin toate întrebările
def run_test(questions):
    if len(questions) == 0:
        print("No questions were given.")
        # return iese din funcție
        return
    index = 0
    right = 0
    while index < len(questions):
        # Verifică întrebarea
        #Rețineți că aceasta este extragerea unei liste de întrebări și răspunsuri din lista de liste.
        if check_question(questions[index]): 
            right = right + 1
        # trece la următoarea întrebare
        index = index + 1
    # observați ordinea calculului, mai întâi înmulțire, apoi împărțire
    print("You got", right * 100 / len(questions),\
           "% right out of", len(questions))

# acum obține întrebările din funcția get_questions, și 
# trimite lista returnată de liste ca argument la funcția run_test.

run_test(get_questions())

Valorile True și False indică 1 și, respectiv, 0. Ele sunt adesea folosite în verificări de sănătate, condiții de buclă etc. Veți afla mai multe despre acest lucru puțin mai târziu (capitolul Expresii booleene). Vă rugăm să rețineți că get_questions() este în esență o listă, deoarece, deși din punct de vedere tehnic este o funcție, returnarea unei liste de liste este singurul lucru pe care îl face.

Rezulat eșantion:

What color is the daytime sky on a clear day? green
Incorrect, correct was: blue
What is the answer to life, the universe and everything? 42
Correct
What is a three letter word for mouse trap? cat
Correct
You got 66 % right out of 3

Exerciții

Extindeți programul test.py, astfel încât să aibă un meniu care oferă opțiunea de a susține testul, vizualizarea listei de întrebări și răspunsuri și o opțiune de a renunța. De asemenea, adăugați o nouă întrebare pentru a pune: „What noise does a truly advanced machine make?” cu răspunsul de „ping”.

Soluție

## Acest program rulează un test de cunoștințe

questions = [["What color is the daytime sky on a clear day? ", "blue"],
             ["What is the answer to life, the universe and everything? ", "42"],
             ["What is a three letter word for mouse trap? ", "cat"],
             ["What noise does a truly advanced machine make?", "ping"]]

# Aceasta va testa o singură întrebare
# ia în considerare o singură întrebare
# returnează True dacă utilizatorul a tastat răspunsul corect, în caz contrar False

def check_question(question_and_answer):
    # extrage întrebarea și răspunsul din listă
    question = question_and_answer[0]
    answer = question_and_answer[1]
    # dă întrebarea utilizatorului
    given_answer = input(question)
    # compară răspunsul utilizatorului cu răspunsul testatorilor
    if answer == given_answer:
        print("Correct")
        return True
    else:
        print("Incorrect, correct was:", answer)
        return False

# Aceasta va trece prin toate întrebările

def run_test(questions):

    if len(questions) == 0:
        print("No questions were given.")
        # return iese din funcție
        return
    index = 0
    right = 0
    while index < len(questions):
        # Verifică întrebarea
        if check_question(questions[index]):
            right = right + 1
        # trece la următoarea întrebare
        index = index + 1
    # observați ordinea calculului, mai întâi înmulțire, apoi împărțire
    print("You got", right * 100 / len(questions),
           "% right out of", len(questions))

#arătând o listă de întrebări și răspunsuri
def showquestions():
    q = 0
    while q < len(questions):
        a = 0
        print("Q:" , questions[q][a])
        a = 1
        print("A:" , questions[q][a])
        q = q + 1

# acum să definim funcția de meniu
def menu():
    print("-----------------")
    print("Menu:")
    print("1 - Take the test")
    print("2 - View a list of questions and answers")
    print("3 - View the menu")
    print("5 - Quit")
    print("-----------------")

choice = "3"
while choice != "5":
    if choice == "1":
        run_test(questions)
    elif choice == "2":
        showquestions()
    elif choice == "3":
        menu()
    print()
    choice = input("Choose your option from the menu above: ")

(Include texte din Wikibooks traduse și adaptate de Nicolae Sfetcu)

Statistica pentru afaceri
Statistica pentru afaceri

Instrumentul esențial pentru decizii inteligente în mediul de afaceri!

Nu a fost votat Interval de prețuri: 18.33 lei până la 39.28 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Analitica rețelelor sociale
Analitica rețelelor sociale

Descoperă puterea datelor și transformă modul în care înțelegi și utilizezi rețelele sociale.

Nu a fost votat Interval de prețuri: 18.33 lei până la 44.15 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Big Data: Modele de afaceri - Securitatea megadatelor
Big Data: Modele de afaceri – Securitatea megadatelor

Nu rata oportunitatea de a rămâne competitiv într-o lume bazată pe date!

Nu a fost votat Interval de prețuri: 18.33 lei până la 27.52 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.


Descoperă mai multe la MultiMedia

Abonează-te ca să primești ultimele articole prin email.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *