Voit harjoitella ohjelmoinnin oppimista tekemällä lyhyitä komentoriviprojekteja Pythonissa. Yksi tekemisistäsi on interaktiivinen tietovisa, jossa voit kysyä käyttäjältä erilaisia ​​kysymyksiä.

Kysymyksiin kuuluu monivalintakysymyksiä tai kysymyksiä, joihin on vastattava kirjallisesti. Voit myös esittää kysymyksiä, joihin on vaihtoehtoiset oikeat vastaukset. Voit jopa saada ohjelmasi antamaan vihjeitä käyttäjälle.

Python-skriptin luominen ja ensimmäinen tietokilpailukysymyksesi lisääminen

Luo Python-tiedosto ja lisää ensimmäinen kysymyksesi. Jos et ole aiemmin koodannut Pythonissa, siellä on monia kursseja ja resursseja, joissa voit Opi Python ilmaiseksi.

  1. Luo uusi tekstitiedosto nimeltä "InteractiveQuiz.py".
  2. Avaa tiedosto millä tahansa tekstieditorilla ja lisää ensimmäinen tulostettu lausunto toivottaaksesi käyttäjän tervetulleeksi tietokilpailuun.
    Tulosta("Hei, tervetuloa maantiedetietokilpailuun. Vastaa kysymyksiin kuten ne esitetään.")
  3. Esitä ensimmäinen kysymys käyttäjälle. Käytä input()-funktiota odottamaan käyttäjän vastausta ja tallenna heidän syötönsä muuttujaan "userInput".
    instagram viewer
    Tulosta("Kysymys 1. Mikä kaupunki on Australian pääkaupunki?")
    userInput = input()
  4. Lisää ehto tarkistaaksesi, vastaako käyttäjän syöte oikeaa vastausta. Jos käyttäjä vastasi oikein, näytä hänelle "oikea" viesti. Jos ei, näytä oikea vastaus.
    if (userInput.lower() == "Canberra".alempi()):
    print("Se On oikea!")
    muu:
    print("Anteeksi, oikea vastaus On Canberra.")
  5. Suorita tietokilpailu ja testaa, että kysymyksesi toimii, avaa komentorivi ja siirry Python-tiedostosi sijaintiin. Jos esimerkiksi tallensit tiedostosi hakemistoon nimeltä Desktop, komento olisi:
    CD Työpöytä
  6. Suorita tietokilpailu suorittamalla python-komento.
    pythonInteraktiivinen tietokilpailu.py
  7. Anna vastaus tietokilpailukysymykseen.

Kuinka lisätä tietokilpailuun useita kysymyksiä

Voit lisätä useita kysymyksiä toistamalla yllä olevan koodin. Tämä kuitenkin tekee koodistasi tarpeettoman pitkän ja vaikeampaa päivittää. Paremman lähestymistavan saamiseksi tallenna kysymyksen tiedot objektiin.

  1. Lisää Python-tiedoston yläosaan luokka tietokilpailukysymyksen tietojen tallentamiseksi. Jos et ole tehnyt tätä aiemmin, voit oppia lisää siitä, miten se tehdään Luo luokka Pythonissa.
    luokkaaKysymys:
    def__sen sisällä__(itse, kysymysTeksti, vastaus):
    itse.questionText = kysymysteksti
    itse.answer = vastaus

    def__repr__(itse):
    palata '{'+ self.questionText +', '+ itse.vastaus +'}'

  2. Lisää luokan alle joukko kysymysobjekteja. Nämä objektit tallentavat kysymyksen tekstin, jonka tietokilpailu näyttää käyttäjälle, sekä oikean vastauksen.
    quizQuestions = [
    kysymys ("Kysymys 1. Mikä kaupunki on Australian pääkaupunki", "Canberra"),
    kysymys ("Kysymys 2. Mikä kaupunki on Japanin pääkaupunki", "Tokio"),
    kysymys ("Kysymys 3. Kuinka monta saarta Filippiineillä on", "7100")
    ]
  3. Korvaa olemassa oleva if-lause ja käyttäjän syöttämä koodi. Käytä sen sijaan for-silmukkaa iteroidaksesi quizQuestions-taulukkoa. Näytä jokaisen kysymyksen kohdalla kysymys ja vertaa käyttäjän syötteitä oikeaan vastaukseen.
    kysymys tietokilpailussaQuestions:
    tulostaa (f"{question.questionText}?")
    userInput = input()
    if (userInput.lower() == question.answer.lower()):
    print("Se On oikea!")
    muu:
    print (f"Anteeksi, oikea vastaus On {kysymys Vastaus}.")

Kuinka lisätä monivalintakysymyksiä

Voit laajentaa Kysymys-luokkaa monivalintakysymyksiin.

  1. Muokkaa Kysymys-luokkaa tiedoston yläosassa. Lisää valinnainen attribuutti nimeltä multipleChoiceOptions.
    luokkaaKysymys:
    def__sen sisällä__(itse, kysymysTeksti, vastaus, multipleChoiceOptions=Ei mitään):
    itse.questionText = kysymysteksti
    itse.answer = vastaus
    itse.multipleChoiceOptions = multipleChoiceOptions

    def__repr__(itse):
    palata '{'+ self.questionText +', '+ itse.vastaus +', '+ str (self.multipleChoiceOptions) +'}'

  2. Lisää toinen kysymys quizQuestions-taulukkoon. Tallenna kysymyksen monivalintavaihtoehtoja.
    quizQuestions = [
    kysymys ("Kysymys 1. Mikä kaupunki on Australian pääkaupunki", "Canberra"),
    kysymys ("Kysymys 2. Mikä kaupunki on Japanin pääkaupunki", "Tokio"),
    kysymys ("Kysymys 3. Kuinka monta saarta Filippiineillä on", "7100"),
    kysymys ("Kysymys 4. Mikä maa vie eniten maamassaa", "b", ["a) Yhdysvallat", "b) Venäjä", "c) Australia", "d) Etelämanner"]),
    ]
  3. Muokkaa for-silmukan osaa, joka näyttää kysymyksen käyttäjälle. Jos kysymyksessä on monivalintavaihtoehtoja, näytä ne kysymyksen jälkeen ja ennen käyttäjän syötteen hakemista.
    kysymys tietokilpailussaQuestions:
    jos (question.multipleChoiceOptions != Ei mitään):
    tulostaa (f"{question.questionText}?")
    vartenvaihtoehtosisäänkysymys.multipleChoiceOptions:
    Tulosta(vaihtoehto)
    userInput = input()
    muu:
    tulostaa (f"{question.questionText}?")
    userInput = input()

    if (userInput.lower() == question.answer.lower()):
    print("Se On oikea!")
    muu:
    print (f"Anteeksi, oikea vastaus On {kysymys Vastaus}.")

Kuinka lisätä kysymys, jolla on vaihtoehtoiset oikeat vastaukset

Joskus on kysymyksiä, joihin käyttäjä voi kirjoittaa osan vastauksesta, mutta se on teknisesti silti oikein.

Esimerkiksi yksi tietokilpailusi kysymyksistä voisi olla "Millä pallonpuoliskolla Japani sijaitsee?". Tässä tapauksessa käyttäjä voi kirjoittaa "pohjoinen", "pohjoinen" tai "pohjoinen pallonpuolisko" ja olla silti oikein.

  1. Lisää toinen valinnainen attribuutti Kysymys-luokkaan. Tämä määrite sisältää kaikki mahdolliset vaihtoehtoiset oikeat vastaukset, jotka käyttäjä voi syöttää.
    luokkaaKysymys:
    def__sen sisällä__(self, questionText, answer, multipleChoiceOptions=Ei mitään, alternateAnswers=Ei mitään):
    itse.questionText = kysymysteksti
    itse.answer = vastaus
    itse.multipleChoiceOptions = multipleChoiceOptions
    itse.alternateAnswers = alternateAnswers

    def__repr__(itse):
    palata '{'+ self.questionText +', '+ itse.vastaus +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Lisää toinen kysymys quizQuestions-taulukkoon. Lisää "pohjoinen pallonpuolisko" oikeaksi vastaukseksi. Lisää "pohjoinen" ja "pohjoinen" vaihtoehtoisiksi oikeiksi vastauksiksi.
    quizQuestions = [
    #...
    kysymys ("Kysymys 5. Millä pallonpuoliskolla Japani sijaitsee", "Pohjoinen pallonpuolisko", [], ["pohjoinen", "pohjoinen"]),
    ]
  3. Lisää if-lauseeseen toinen ehto, joka tarkistaa, onko käyttäjä antanut vaihtoehtoisen oikean vastauksen.
    if (userInput.lower() == question.answer.lower()):
    print("Se On oikea!")
    elif (question.alternateAnswers != Ei mitäänja userInput.lower() sisään kysymys.alternateAnswers):
    print("Se On oikea!")
    muu:
    print (f"Anteeksi, oikea vastaus On {kysymys Vastaus}.")

Kuinka antaa käyttäjälle vinkkejä

Voit muokata komentosarjaa niin, että käyttäjä ei voi edetä seuraavaan vaiheeseen, ennen kuin hän saa nykyisen kysymyksen oikein. Lisää tässä tapauksessa muuttuja, joka laskee, kuinka monta kertaa käyttäjä on antanut väärän vastauksen. Kolmen väärän arvauksen jälkeen voit antaa käyttäjälle vihjeen.

  1. Muokkaa Kysymys-luokkaa käyttämään uutta vihje-attribuuttia.
    luokkaaKysymys:
    def__sen sisällä__(self, questionText, answer, hint=Ei mitään, multipleChoiceOptions=Ei mitään, alternateAnswers=Ei mitään):
    itse.questionText = kysymysteksti
    itse.answer = vastaus
    itse.vintti = vihje
    itse.multipleChoiceOptions = multipleChoiceOptions
    itse.alternateAnswers = alternateAnswers

    def__repr__(itse):
    palata '{'+ self.questionText +', '+ itse.vastaus +', '+ itse.vinkki +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Lisää vihjeitä kaikkiin tietokilpailun kysymyksiin.
    quizQuestions = [
    kysymys ("Kysymys 1. Mikä kaupunki on Australian pääkaupunki", "Canberra", "Alkaa C: llä"),
    kysymys ("Kysymys 2. Mikä kaupunki on Japanin pääkaupunki", "Tokio", "Alkaa T: llä"),
    kysymys ("Kysymys 3. Kuinka monta saarta Filippiineillä on", "7100", "Luku välillä 7000 ja 8000"),
    kysymys ("Kysymys 4. Mikä maa vie eniten maamassaa", "b", "Maa kattaa kaksi maanosaa", ["a) Yhdysvallat", "b) Venäjä", "c) Australia", "d) Etelämanner"]),
    kysymys ("Kysymys 5. Millä pallonpuoliskolla Japani sijaitsee", "Pohjoinen pallonpuolisko", "Maan yläpuoli", [], ["pohjoinen", "pohjoinen"]),
    ]
  3. Poista if-lauseet, jotka tarkistavat, vastasiko käyttäjä kysymykseen oikein. Korvaa nämä aikasilmukalla. While-silmukka kiertää jatkuvasti, kunnes käyttäjä saa oikean vastauksen. Lisää while-silmukan sisään luku, joka näyttää vihjeen, kun käyttäjä saa vastauksen väärin kolme kertaa.
    kysymys tietokilpailussaQuestions:
    jos (question.multipleChoiceOptions != Ei mitään):
    tulostaa (f"{question.questionText}?")
    vartenvaihtoehtosisäänkysymys.multipleChoiceOptions:
    Tulosta(vaihtoehto)
    userInput = input()
    muu:
    tulostaa (f"{question.questionText}?")
    userInput = input()
    laskenta = 0
    sillä aikaa (userInput.lower() != question.answer.lower()):
    jos (question.alternateAnswers != Ei mitäänja userInput.lower() sisään kysymys.alternateAnswers):
    tauko;
    count = laske + 1
    jos (laske >= 3):
    tulostaa (f"Vihje: {question.hint}.")
    userInput = input()
    muu:
    print("Se Onei oikea, yrittää uudelleen.")
    userInput = input()

    print("Se On oikea!")

  4. Suorita tietokilpailu uudelleen komentorivillä käyttämällä python-komentoa.
    pythonInteraktiivinen tietokilpailu.py
  5. Vastaa tietokilpailun kysymyksiin.

Pienten sovellusten luominen Pythonilla

Yksi projekteista, joita voit tehdä oppiessasi koodaamaan Pythonissa, on interaktiivinen tietokilpailu. Tietovisassa voit esittää käyttäjälle erilaisia ​​kysymyksiä.

Voit tallentaa tietoa tietokilpailukysymyksistä objektiin, jotta et toista koodiasi jokaisen kysymyksen kohdalla.

Python-taitojen parantamiseksi on hyvä harjoitella erilaisia ​​harjoituksia ja esimerkkejä. Voit katsoa muita Python-esimerkkejä, jotka voivat auttaa sinua oppimaan.