Python'da kısa komut satırı projeleri yaparak programlamayı öğrenme alıştırması yapabilirsiniz. Yapabileceğiniz projelerden biri, kullanıcıya farklı türden sorular sorabileceğiniz etkileşimli bir sınavdır.

Sorabileceğiniz sorular arasında çoktan seçmeli sorular veya yazılı cevap gerektiren sorular yer alır. Alternatif doğru cevapları olan sorular da sorabilirsiniz. Hatta programınızın kullanıcıya ipuçları vermesini sağlayabilirsiniz.

Python Komut Dosyası Nasıl Oluşturulur ve İlk Test Sorunuzu Ekleyin

Bir Python dosyası oluşturun ve ilk sorunuzu ekleyin. Python'da daha önce kodlama yapmadıysanız, yapabileceğiniz birçok kurs ve kaynak var. Python'u ücretsiz öğrenin.

  1. "InteractiveQuiz.py" adlı yeni bir metin dosyası oluşturun.
  2. Dosyayı herhangi bir metin düzenleyiciyi kullanarak açın ve kullanıcıyı teste davet etmek için ilk print ifadenizi ekleyin.
    Yazdır("Merhaba, coğrafya sınavına hoş geldiniz. Soruları cevapla olarak sunulurlar.")
  3. İlk soruyu kullanıcıya sorun. Kullanıcının yanıtını beklemek için input() işlevini kullanın ve girdilerini "userInput" değişkenine kaydedin.
    instagram viewer
    Yazdır("Soru 1. Avustralya'nın başkenti hangi şehirdir?")
    kullanıcıInput = girdi()
  4. Kullanıcının girdisinin doğru yanıtla eşleşip eşleşmediğini kontrol etmek için bir koşul ekleyin. Kullanıcı doğru yanıt verdiyse, onlara "doğru" bir mesaj gösterin. Değilse, doğru cevabı görüntüleyin.
    if (userInput.lower() == "Kanberra".daha düşük()):
    print("Bu dır-dir doğru!")
    başka:
    print("Üzgünüm, doğru cevap dır-dir Kanberra.")
  5. Testinizi çalıştırmak ve sorunuzun işe yarayıp yaramadığını test etmek için komut satırını açın ve Python dosyanızın konumuna gidin. Örneğin, dosyanızı Desktop adlı bir dizinde sakladıysanız, komut şöyle olacaktır:
    CD masaüstü
  6. Testi yürütmek için python komutunu çalıştırın.
    pitonEtkileşimli Sınav.py
  7. Test sorusuna bir cevap verin.

Teste Birden Çok Soru Nasıl Eklenir

Yukarıdaki kodu tekrarlayarak birkaç soru ekleyebilirsiniz. Ancak bu, kodunuzu gereksiz yere uzatacak ve güncellemeyi zorlaştıracaktır. Daha iyi bir yaklaşım için, soruyla ilgili bilgileri bunun yerine bir nesnede saklayın.

  1. Python dosyasının en üstüne, bir sınav sorusu hakkında bilgi depolamak için bir sınıf ekleyin. Bunu daha önce yapmadıysanız, nasıl yapılacağı hakkında daha fazla bilgi edinebilirsiniz. Python'da bir sınıf oluşturun.
    sınıfSoru:
    tanım__içinde__(kendi, soruMetin, cevap):
    öz.questionText = soruText
    öz.cevap = cevap

    tanım__repr__(kendi):
    dönüş '{'+ self.questionText +', '+ kendi kendine cevap +'}'

  2. Sınıfın altına bir dizi soru nesnesi ekleyin. Bu nesneler, testin kullanıcıya gösterdiği soru metnini doğru cevapla birlikte saklayacaktır.
    sınav Soruları = [
    Soru("Soru 1. Avustralya'nın başkenti hangi şehirdir", "Kanberra"),
    Soru("Soru 2. Japonya'nın başkenti hangi şehirdir", "Tokyo"),
    Soru("Soru 3. Filipinler'in kaç adası var", "7100")
    ]
  3. Mevcut if ifadesini ve kullanıcı giriş kodunu değiştirin. Bunun yerine, quizQuestions dizisini yinelemek için bir for döngüsü kullanın. Her soru için soruyu görüntüleyin ve kullanıcının girdisini doğru yanıtla karşılaştırın.
    quizQuestions'daki soru için:
    yazdır (f"{question.questionText}?")
    kullanıcıInput = girdi()
    if (userInput.lower() == soru.answer.lower()):
    print("Bu dır-dir doğru!")
    başka:
    print (f"Üzgünüm, doğru cevap dır-dir {soru cevap}.")

Çoktan Seçmeli Sorular Nasıl Eklenir

Soru sınıfını çoktan seçmeli soruları içerecek şekilde genişletebilirsiniz.

  1. Dosyanın en üstündeki Question sınıfını değiştirin. MultipleChoiceOptions adlı isteğe bağlı bir öznitelik ekleyin.
    sınıfSoru:
    tanım__içinde__(self, QuestionText, cevap, multipleChoiceOptions=Yok):
    öz.questionText = soruText
    öz.cevap = cevap
    öz.multipleChoiceOptions = multipleChoiceOptions

    tanım__repr__(kendi):
    dönüş '{'+ self.questionText +', '+ kendi kendine cevap +', '+ str (self.multipleChoiceOptions) +'}'

  2. quizQuestions dizisine başka bir soru ekleyin. Soru için bazı çoktan seçmeli seçenekleri saklayın.
    sınav Soruları = [
    Soru("Soru 1. Avustralya'nın başkenti hangi şehirdir", "Kanberra"),
    Soru("Soru 2. Japonya'nın başkenti hangi şehirdir", "Tokyo"),
    Soru("Soru 3. Filipinler'in kaç adası var", "7100"),
    Soru("Soru 4. En çok kara kütlesini hangi ülke alır", "b", ["(a) Amerika Birleşik Devletleri", "(b) Rusya", "(c) Avustralya", "(d) Antarktika"]),
    ]
  3. For döngüsünün soruyu kullanıcıya görüntüleyen kısmını değiştirin. Soru için çoktan seçmeli seçenekler varsa, bunları sorudan sonra ve kullanıcının girdisini almadan önce görüntüleyin.
    quizQuestions'daki soru için:
    eğer (question.multipleChoiceOptions != Hiçbiri):
    yazdır (f"{question.questionText}?")
    içinseçenekiçindesoru.multipleChoiceOptions:
    Yazdır(seçenek)
    kullanıcıInput = girdi()
    başka:
    yazdır (f"{question.questionText}?")
    kullanıcıInput = girdi()

    if (userInput.lower() == soru.answer.lower()):
    print("Bu dır-dir doğru!")
    başka:
    print (f"Üzgünüm, doğru cevap dır-dir {soru cevap}.")

Alternatif Doğru Cevapları Olan Bir Soru Nasıl Eklenir?

Bazen kullanıcının cevabın bir kısmını yazabileceği sorular olabilir, ancak bu teknik olarak yine de doğrudur.

Örneğin, testinizdeki sorulardan biri "Japonya hangi yarım kürede yer alıyor?" olabilir. Bu durumda kullanıcı "Kuzey", "Kuzey" veya "Kuzey Yarım Küre" yazabilir ve yine de doğru olabilir.

  1. Question sınıfına isteğe bağlı başka bir özellik ekleyin. Bu özellik, kullanıcının girebileceği olası tüm alternatif doğru yanıtları içerecektir.
    sınıfSoru:
    tanım__içinde__(self, soruText, cevap, multipleChoiceOptions=Yok, alternatifAnswers=Yok):
    öz.questionText = soruText
    öz.cevap = cevap
    öz.multipleChoiceOptions = multipleChoiceOptions
    öz.alternateAnswers = alternatifAnswers

    tanım__repr__(kendi):
    dönüş '{'+ self.questionText +', '+ kendi kendine cevap +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. quizQuestions dizisine başka bir soru ekleyin. Doğru cevap olarak "Kuzey Yarımküre" ekleyin. Alternatif doğru cevaplar olarak "kuzey" ve "kuzey" ekleyin.
    sınav Soruları = [
    #...
    Soru("Soru 5. Japonya hangi yarım kürede bulunur", "Kuzey yarımküre", [], ["kuzey", "kuzey"]),
    ]
  3. Kullanıcının alternatif bir doğru cevap girip girmediğini kontrol eden if ifadesine başka bir koşul ekleyin.
    if (userInput.lower() == soru.answer.lower()):
    print("Bu dır-dir doğru!")
    elif (soru.alternateAnswers != Hiçbirive userInput.low() içinde soru.alternateCevaplar):
    print("Bu dır-dir doğru!")
    başka:
    print (f"Üzgünüm, doğru cevap dır-dir {soru cevap}.")

Kullanıcıya Nasıl İpuçları Verilir

Komut dosyasını, kullanıcının mevcut soruyu doğru anlayana kadar bir sonraki aşamaya geçememesi için değiştirebilirsiniz. Bu durumda, kullanıcının kaç kez yanlış cevap girdiğini saymak için bir değişken ekleyin. Üç yanlış tahminden sonra kullanıcıya bir ipucu verebilirsiniz.

  1. Yeni bir ipucu özniteliği kullanmak için Question sınıfını değiştirin.
    sınıfSoru:
    tanım__içinde__(self, soruText, cevap, ipucu=Yok, multipleChoiceOptions=Yok, alternatifAnswers=Yok):
    öz.questionText = soruText
    öz.cevap = cevap
    öz.hint = ipucu
    öz.multipleChoiceOptions = multipleChoiceOptions
    öz.alternateAnswers = alternatifAnswers

    tanım__repr__(kendi):
    dönüş '{'+ self.questionText +', '+ kendi kendine cevap +', '+ kendi kendine ipucu +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Testteki tüm sorulara ipuçları ekleyin.
    sınav Soruları = [
    Soru("Soru 1. Avustralya'nın başkenti hangi şehirdir", "Kanberra", "C ile başlar"),
    Soru("Soru 2. Japonya'nın başkenti hangi şehirdir", "Tokyo", "T ile başlar"),
    Soru("Soru 3. Filipinler'in kaç adası var", "7100", "7000 ile 8000 arasında bir sayı"),
    Soru("Soru 4. En çok kara kütlesini hangi ülke alır", "b", "Ülke iki kıtaya yayılıyor", ["(a) Amerika Birleşik Devletleri", "(b) Rusya", "(c) Avustralya", "(d) Antarktika"]),
    Soru("Soru 5. Japonya hangi yarım kürede bulunur", "Kuzey yarımküre", "Dünyanın üst yarısı", [], ["kuzey", "kuzey"]),
    ]
  3. Kullanıcının soruyu doğru yanıtlayıp yanıtlamadığını kontrol eden if ifadelerini kaldırın. Bunları bir süre döngüsü ile değiştirin. while döngüsü, kullanıcı doğru cevabı alana kadar sürekli döngüye girer. while döngüsünün içine, kullanıcı yanıtı üç kez yanlış aldığında ipucunu gösterecek bir sayı ekleyin.
    quizQuestions'daki soru için:
    eğer (question.multipleChoiceOptions != Hiçbiri):
    yazdır (f"{question.questionText}?")
    içinseçenekiçindesoru.multipleChoiceOptions:
    Yazdır(seçenek)
    kullanıcıInput = girdi()
    başka:
    yazdır (f"{question.questionText}?")
    kullanıcıInput = girdi()
    sayı = 0
    süre (userInput.lower() != soru.answer.lower()):
    eğer (soru.alternateAnswers != Hiçbirive userInput.low() içinde soru.alternateCevaplar):
    kırmak;
    say = say + 1
    eğer (sayım >= 3):
    yazdır (f"İpucu: {question.hint}.")
    kullanıcıInput = girdi()
    başka:
    print("Bu dır-dirolumsuzluk doğru, denemek Yeniden.")
    kullanıcıInput = girdi()

    print("Bu dır-dir doğru!")

  4. python komutunu kullanarak testinizi komut satırında yeniden çalıştırın.
    pitonEtkileşimli Sınav.py
  5. Testteki soruları cevaplayın.

Python Kullanarak Küçük Uygulamalar Oluşturma

Python'da kod yazmayı öğrenirken yapabileceğiniz projelerden biri de interaktif bir sınavdır. Testte, kullanıcıya farklı türde sorular sunabilirsiniz.

Her soru için kodunuzu tekrarlamanızı önlemek için sınav soruları hakkındaki bilgileri bir nesnede saklayabilirsiniz.

Python'daki becerilerinizi geliştirmek için farklı alıştırmalar ve örnekler uygulamak iyi bir fikirdir. Öğrenmenize yardımcı olabilecek diğer Python örneklerine göz atabilirsiniz.