Możesz przećwiczyć naukę programowania, tworząc krótkie projekty wiersza poleceń w Pythonie. Jednym z projektów, które możesz wykonać, jest interaktywny quiz, w którym możesz zadawać użytkownikowi różnego rodzaju pytania.
Pytania, które możesz zadać, obejmują pytania wielokrotnego wyboru lub pytania wymagające pisemnych odpowiedzi. Możesz także zadawać pytania, które mają alternatywne poprawne odpowiedzi. Możesz nawet sprawić, by Twój program dawał wskazówki użytkownikowi.
Jak stworzyć skrypt Pythona i dodać swoje pierwsze pytanie quizowe
Utwórz plik Python i dodaj swoje pierwsze pytanie. Jeśli nie programowałeś wcześniej w Pythonie, istnieje wiele kursów i zasobów, w których możesz ucz się Pythona za darmo.
- Utwórz nowy plik tekstowy o nazwie „InteractiveQuiz.py”.
- Otwórz plik za pomocą dowolnego edytora tekstu i dodaj swoją pierwszą instrukcję wydruku, aby powitać użytkownika w quizie.
wydrukować(„Witam, witamy w quizie z geografii. Odpowiedz na pytania jak są prezentowane."
- Zadaj pierwsze pytanie użytkownikowi. Użyj funkcji input(), aby poczekać na odpowiedź użytkownika i zapisać jego dane wejściowe w zmiennej "userInput".
wydrukować("Pytanie 1. Jakie miasto jest stolicą Australii?")
userInput = input() - Dodaj warunek, aby sprawdzić, czy dane wprowadzone przez użytkownika są zgodne z poprawną odpowiedzią. Jeśli użytkownik odpowiedział poprawnie, wyświetl mu "poprawny" komunikat. Jeśli nie, wyświetl poprawną odpowiedź.
if (userInput.lower() == "Canberra".niżej()):
print("To jest prawidłowy!")
w przeciwnym razie:
print("Przepraszam, poprawna odpowiedź jest Canberra.") - Aby uruchomić quiz i sprawdzić, czy Twoje pytanie działa, otwórz wiersz poleceń i przejdź do lokalizacji pliku Python. Na przykład, jeśli zapisałeś plik w katalogu o nazwie Pulpit, polecenie będzie wyglądać tak:
płyta CD Pulpit
- Uruchom polecenie Pythona, aby wykonać quiz.
pytonInteraktywny quiz.py
- Podaj odpowiedź na pytanie quizu.
Jak dodać wiele pytań do quizu
Możesz dodać kilka pytań, powtarzając powyższy kod. Jednak spowoduje to, że Twój kod będzie niepotrzebnie długi i trudniejszy do zaktualizowania. Aby uzyskać lepsze podejście, przechowuj informacje o pytaniu w obiekcie.
- W górnej części pliku Python dodaj klasę do przechowywania informacji o pytaniu quizu. Jeśli nie robiłeś tego wcześniej, możesz dowiedzieć się więcej o tym, jak utwórz klasę w Pythonie.
klasaPytanie:
definitywnie__w tym__(ja, pytanieTekst, odpowiedź):
samego siebie.questionText = QuestionText
samego siebie.odpowiedź = odpowiedźdefinitywnie__repr__(samego siebie):
zwrócić '{'+ self.questionText +', '+ własna.odpowiedź +'}' - Pod klasą dodaj tablicę obiektów pytań. Obiekty te przechowują tekst pytania wyświetlany użytkownikowi w quizie wraz z poprawną odpowiedzią.
quizPytania = [
Pytanie("Pytanie 1. Jakie miasto jest stolicą Australii?", "Canberra"),
Pytanie("Pytanie 2. Jakie miasto jest stolicą Japonii?", "Tokio"),
Pytanie("Pytanie 3. Ile wysp mają Filipiny", "7100")
] - Zastąp istniejącą instrukcję if i kod wejściowy użytkownika. Zamiast tego użyj pętli for do iteracji po tablicy quizQuestions. Dla każdego pytania wyświetl pytanie i porównaj dane wprowadzone przez użytkownika z poprawną odpowiedzią.
na pytanie w quiziePytania:
drukuj (f"{pytanie.tekst pytania}?")
userInput = input()
if (userInput.lower() == pytanie.odpowiedź.lower()):
print("To jest prawidłowy!")
w przeciwnym razie:
print (f"Przepraszam, poprawna odpowiedź jest {pytanie odpowiedź}.")
Jak dodać pytania wielokrotnego wyboru
Możesz rozszerzyć klasę Question, aby pomieścić pytania wielokrotnego wyboru.
- Zmodyfikuj klasę Question w górnej części pliku. Dodaj opcjonalny atrybut o nazwie multipleChoiceOptions.
klasaPytanie:
definitywnie__w tym__(siebie, pytanieTekst, odpowiedź, multipleChoiceOptions=Brak):
samego siebie.questionText = QuestionText
samego siebie.odpowiedź = odpowiedź
samego siebie.multipleChoiceOptions = multipleChoiceOptionsdefinitywnie__repr__(samego siebie):
zwrócić '{'+ self.questionText +', '+ własna.odpowiedź +', '+ str (self.multipleChoiceOptions) +'}' - Dodaj kolejne pytanie do tablicy quizQuestions. Zapisz kilka opcji wielokrotnego wyboru dla pytania.
quizPytania = [
Pytanie("Pytanie 1. Jakie miasto jest stolicą Australii?", "Canberra"),
Pytanie("Pytanie 2. Jakie miasto jest stolicą Japonii?", "Tokio"),
Pytanie("Pytanie 3. Ile wysp mają Filipiny", "7100"),
Pytanie("Pytanie 4. Który kraj zajmuje najwięcej ziemi?", "b", ["(a) Stany Zjednoczone", "(b) Rosja", "(c) Australia", "(d) Antarktyda"]),
] - Zmodyfikuj część pętli for, która wyświetla pytanie użytkownikowi. Jeśli dla pytania istnieją opcje wielokrotnego wyboru, wyświetl je po pytaniu i przed pobraniem danych wejściowych użytkownika.
na pytanie w quiziePytania:
jeśli (question.multipleChoiceOptions != Nic):
drukuj (f"{pytanie.tekst pytania}?")
dlaopcjawpytanie.multipleChoiceOptions:
wydrukować(opcja)
userInput = input()
w przeciwnym razie:
drukuj (f"{pytanie.tekst pytania}?")
userInput = input()if (userInput.lower() == pytanie.odpowiedź.lower()):
print("To jest prawidłowy!")
w przeciwnym razie:
print (f"Przepraszam, poprawna odpowiedź jest {pytanie odpowiedź}.")
Jak dodać pytanie z alternatywnymi poprawnymi odpowiedziami
Czasami pojawiają się pytania, w których użytkownik może wpisać część odpowiedzi, ale technicznie nadal jest ona poprawna.
Na przykład jedno z pytań w quizie może brzmieć „Na której półkuli znajduje się Japonia?”. W takim przypadku użytkownik może wpisać „Północ”, „Północ” lub „Półkula północna” i nadal mieć rację.
- Dodaj kolejny opcjonalny atrybut do klasy Pytanie. Ten atrybut będzie zawierał wszelkie możliwe alternatywne poprawne odpowiedzi, które użytkownik może wprowadzić.
klasaPytanie:
definitywnie__w tym__(self, questionText, odpowiedź, multipleChoiceOptions=Brak, alternativeAnswers=Brak):
samego siebie.questionText = QuestionText
samego siebie.odpowiedź = odpowiedź
samego siebie.multipleChoiceOptions = multipleChoiceOptions
samego siebie.alternateAnswers = AlternativeAnswersdefinitywnie__repr__(samego siebie):
zwrócić '{'+ self.questionText +', '+ własna.odpowiedź +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}' - Dodaj kolejne pytanie do tablicy quizQuestions. Dodaj „półkulę północną” jako poprawną odpowiedź. Dodaj „północ” i „północ” jako alternatywne poprawne odpowiedzi.
quizPytania = [
#...
Pytanie("Pytanie 5. Na jakiej półkuli znajduje się Japonia?", "Półkula północna", [], ["północ", "północny"]),
] - Dodaj kolejny warunek do instrukcji if, który sprawdza, czy użytkownik wprowadził alternatywną poprawną odpowiedź.
if (userInput.lower() == pytanie.odpowiedź.lower()):
print("To jest prawidłowy!")
Elifa (question.alternateAnswers != Nicoraz userInput.lower() w pytanie.odpowiedzi alternatywne):
print("To jest prawidłowy!")
w przeciwnym razie:
print (f"Przepraszam, poprawna odpowiedź jest {pytanie odpowiedź}.")
Jak udzielać wskazówek użytkownikowi
Możesz zmodyfikować skrypt, aby użytkownik nie mógł przejść do następnego etapu, dopóki nie uzyska poprawnego bieżącego pytania. W takim przypadku dodaj zmienną, aby zliczyć, ile razy użytkownik wprowadził błędną odpowiedź. Po trzech błędnych próbach możesz dać użytkownikowi podpowiedź.
- Zmodyfikuj klasę Question, aby użyć nowego atrybutu wskazówki.
klasaPytanie:
definitywnie__w tym__(self, questionText, answer, hint=Brak, multipleChoiceOptions=Brak, alternativeAnswers=Brak):
samego siebie.questionText = QuestionText
samego siebie.odpowiedź = odpowiedź
samego siebie.podpowiedź = podpowiedź
samego siebie.multipleChoiceOptions = multipleChoiceOptions
samego siebie.alternateAnswers = AlternativeAnswersdefinitywnie__repr__(samego siebie):
zwrócić '{'+ self.questionText +', '+ własna.odpowiedź +', '+ podpowiedź +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}' - Dodaj wskazówki do wszystkich pytań w quizie.
quizPytania = [
Pytanie("Pytanie 1. Jakie miasto jest stolicą Australii?", "Canberra", "Zaczyna się od C"),
Pytanie("Pytanie 2. Jakie miasto jest stolicą Japonii?", "Tokio", "Zaczyna się od T"),
Pytanie("Pytanie 3. Ile wysp mają Filipiny", "7100", "Liczba od 7000 do 8000"),
Pytanie("Pytanie 4. Który kraj zajmuje najwięcej ziemi?", "b", "Kraj obejmuje dwa kontynenty", ["(a) Stany Zjednoczone", "(b) Rosja", "(c) Australia", "(d) Antarktyda"]),
Pytanie("Pytanie 5. Na jakiej półkuli znajduje się Japonia?", "Półkula północna", "Górna połowa Ziemi", [], ["północ", "północny"]),
] - Usuń instrukcje if, które sprawdzają, czy użytkownik odpowiedział poprawnie na pytanie. Zastąp je pętlą while. Pętla while będzie stale zapętlać się, dopóki użytkownik nie otrzyma poprawnej odpowiedzi. Wewnątrz pętli while dodaj licznik, który wyświetli podpowiedź, gdy użytkownik trzykrotnie otrzyma błędną odpowiedź.
na pytanie w quiziePytania:
jeśli (question.multipleChoiceOptions != Nic):
drukuj (f"{pytanie.tekst pytania}?")
dlaopcjawpytanie.multipleChoiceOptions:
wydrukować(opcja)
userInput = input()
w przeciwnym razie:
drukuj (f"{pytanie.tekst pytania}?")
userInput = input()
liczba = 0
podczas gdy (userInput.lower() != pytanie.odpowiedź.lower()):
jeśli (question.alternateAnswers != Nicoraz userInput.lower() w pytanie.odpowiedzi alternatywne):
przerwanie;
liczba = liczba + 1
jeśli (liczba >= 3):
drukuj (f"Podpowiedź: {pytanie.podpowiedź}.")
userInput = input()
w przeciwnym razie:
print("To jestnie prawidłowy, próbować ponownie.")
userInput = input()print("To jest prawidłowy!")
- Uruchom ponownie quiz w wierszu poleceń za pomocą polecenia Pythona.
pytonInteraktywny quiz.py
- Odpowiedz na pytania w quizie.
Tworzenie małych aplikacji przy użyciu Pythona
Jednym z projektów, które możesz wykonać podczas nauki kodowania w Pythonie, jest interaktywny quiz. W quizie możesz przedstawić użytkownikowi różne rodzaje pytań.
Możesz przechowywać informacje o pytaniach quizu w obiekcie, aby zapobiec powtarzaniu kodu dla każdego pytania.
Aby poprawić swoje umiejętności w Pythonie, dobrym pomysłem jest ćwiczenie różnych ćwiczeń i przykładów. Możesz rzucić okiem na inne przykłady Pythona, które pomogą Ci się uczyć.