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)

Introducere în Business Intelligence
Introducere în Business Intelligence

Colecția ȘTIINȚA INFORMAȚIEI ”Introducere în Business Intelligence” oferă cititorilor informații cuprinzătoare despre business intelligence, explorând toate aspectele importante ale inteligenței de afaceri în scenariul actual. Subiectele tratate se referă la abordările de bază ale business intelligence. Cartea își propune să … Citeşte mai mult

Nu a fost votat $2.99$4.80 Selectează opțiunile
Big Data: Modele de afaceri - Securitatea megadatelor
Big Data: Modele de afaceri – Securitatea megadatelor

Termenul megadate (Big Data, date masive) este adesea folosit în mod vag pentru a desemna paleta de algoritmi, tehnologii și sisteme utilizate pentru colectarea datelor de volum și varietate fără precedent și extragerea de valoare din acestea prin calculul masiv … Citeşte mai mult

Nu a fost votat $3.99$5.99 Selectează opțiunile
Analitica rețelelor sociale
Analitica rețelelor sociale

Analitica rețelelor sociale este un domeniu nou și emergent, pregătit pentru a permite companiilor să își îmbunătățească inițiativele de gestionare a performanței în diferite funcții de afaceri. Indiferent dacă este vorba de măsurarea eficienței campaniilor promoționale, colectarea de informații despre … Citeşte mai mult

Nu a fost votat $3.99$9.61 Selectează opțiunile

Lasă un răspuns

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