Hướng dẫn python quiz from text file - python đố từ tệp văn bản

Tôi đang cố gắng tạo một bài kiểm tra trong đó tôi có câu hỏi và câu trả lời từ một tệp văn bản bên ngoài để nhập vào Python để người dùng có thể nhập lựa chọn.

Vấn đề là mã của tôi chỉ in

print("Hello, welcome to the geography quiz. Answer the questions as they are presented.")
0 ở cuối bài kiểm tra một lần và không nói sau mỗi câu hỏi được trả lời nếu người dùng có câu hỏi chính xác hay không chính xác.

Cột đầu tiên (

print("Hello, welcome to the geography quiz. Answer the questions as they are presented.")
1) là nơi câu hỏi và câu trả lời đúng là trong cột thứ tư (
print("Hello, welcome to the geography quiz. Answer the questions as they are presented.")
2)

Cảm ơn

Đây là những gì trong tệp văn bản:

What is 1+1,1,2,2
What is 2+2,4,2,4

Đây là mã nguồn dưới đây:

def quiz():
    file = open("quiz.txt","r")
    right = False

    for line in file:
        detail = line.split(",")
        print(detail[0])
        select = input("Select 1 or 2: ")
        if select == detail[3]:
            right = True
            break

    if right == True:
        print("Correct")
    else:
        print("Incorrect")

Bài kiểm tra tương tác ⋅ 6 câu hỏi David Amos6 Questions
By David Amos

Trong chương này, bạn đã học cách làm việc với các tệp trong Python. Làm việc với các tập tin là một kỹ năng thiết yếu được sử dụng bởi các lập trình viên Python làm việc trong bất kỳ ngành nào, bao gồm phát triển web, tự động hóa kinh doanh và khoa học dữ liệu.

Đến cuối chương này, bạn biết cách:

  • Đọc và ghi tệp văn bản
  • Đối phó với các đường dẫn tệp
  • Làm việc với các tệp giá trị được phân tách bằng dấu phẩy (CSV)

Bài kiểm tra chứa 6 câu hỏi và không có giới hạn thời gian. Bạn sẽ nhận được 1 điểm cho mỗi câu trả lời đúng. Khi kết thúc bài kiểm tra, bạn sẽ nhận được tổng số điểm. Điểm tối đa là 100%. Chúc may mắn!

«Duyệt tất cả các câu đố python

quiz-program

Thực hiện một chương trình đố dựa trên văn bản trong Python bằng cách sử dụng mã giao tiếp với tệp văn bản chứa các câu hỏi và câu trả lời. Mối quan hệ tệp văn bản mã cho phép cú pháp cụ thể thực hiện những việc cụ thể, ví dụ: Ngừng đọc tệp, bắt đầu đọc câu trả lời, trong tệp văn bản mô phỏng ngôn ngữ lập trình.

Cú pháp Tệp văn bản bao gồm:

  • $ Chủ đề - cú pháp này cho thấy sự khởi đầu của một bài kiểm tra về chủ đề nói trên
    • Ví dụ sử dụng - Khoa học máy tính
    • Tiếp theo là các câu hỏi liên quan đến chủ đề nói trên
  • [Câu hỏi cuối] - chỉ ra kết thúc của một câu hỏi
  • kết thúc ($ atmentName) _quiz - cho biết kết thúc bài kiểm tra của chủ đề nói trên
    • Ví dụ sử dụng - kết thúc máy tính khoa học_quiz
  • ($ Chủ đề)
    • Ví dụ sử dụng - maths_answers
  • End ($ atmentName) _answers - chỉ ra phần cuối của phần câu trả lời của chủ đề nói trên
    • Ví dụ sử dụng - End Maths_answers

  • Nhà
  • Lập trình

Bị mắc kẹt cho một thử thách lập trình đơn giản? Hãy thử viết bài kiểm tra của riêng bạn để kiểm tra bạn bè và gia đình; Nó rất dễ dàng trong Python.

Quiz paper on table

Bạn có thể thực hành học cách lập trình bằng cách thực hiện các dự án dòng lệnh ngắn trong Python. Một trong những dự án bạn có thể thực hiện là một bài kiểm tra tương tác, nơi bạn có thể hỏi người dùng các loại câu hỏi khác nhau.

Các câu hỏi bạn có thể đặt ra bao gồm các câu hỏi trắc nghiệm hoặc câu hỏi yêu cầu câu trả lời bằng văn bản. Bạn cũng có thể đặt câu hỏi có câu trả lời đúng. Bạn thậm chí có thể làm cho chương trình của bạn đưa ra gợi ý cho người dùng.

Cách tạo tập lệnh Python và thêm câu hỏi bài kiểm tra đầu tiên của bạn

Tạo một tệp Python và thêm vào câu hỏi đầu tiên của bạn. Nếu bạn chưa mã hóa trong Python trước đây, có nhiều khóa học và tài nguyên ngoài kia nơi bạn có thể học Python miễn phí.

  1. Tạo một tệp văn bản mới có tên là "Interactivequiz.py".
  2. Mở tệp bằng bất kỳ trình soạn thảo văn bản nào và thêm câu lệnh in đầu tiên của bạn để chào đón người dùng vào bài kiểm tra .________ 2
  3. Đặt câu hỏi đầu tiên cho người dùng. Sử dụng hàm input () để chờ phản hồi của người dùng và lưu trữ đầu vào của họ vào biến "userInput" .________ 3
  4. Thêm một điều kiện để kiểm tra xem đầu vào của người dùng có khớp với câu trả lời chính xác không. Nếu người dùng trả lời chính xác, hãy hiển thị thông báo "chính xác" cho họ. Nếu không, hãy hiển thị câu trả lời đúng .________ 4
  5. Để chạy bài kiểm tra của bạn và kiểm tra rằng câu hỏi của bạn đang hoạt động, hãy mở dòng lệnh và điều hướng đến vị trí của tệp Python của bạn. Ví dụ: nếu bạn lưu trữ tệp của mình trong một thư mục có tên là Desktop, lệnh sẽ là: ________ 5
  6. Chạy lệnh Python để thực thi bài kiểm tra .________ 6
  7. Cung cấp một câu trả lời cho câu hỏi đố.

    First quiz question running in the terminal

Cách thêm nhiều câu hỏi vào bài kiểm tra

Bạn có thể thêm một số câu hỏi bằng cách lặp lại mã ở trên. Tuy nhiên, điều này sẽ làm cho mã của bạn dài và khó cập nhật hơn một cách không cần thiết. Để có một cách tiếp cận tốt hơn, thay vào đó, hãy lưu trữ thông tin về câu hỏi trong một đối tượng.

  1. Ở đầu tệp Python, thêm một lớp để lưu trữ thông tin về một câu hỏi đố. Nếu bạn chưa làm điều này trước đây, bạn có thể tìm hiểu thêm về cách tạo một lớp học trong Python .________ 7
  2. Bên dưới lớp, thêm một mảng các đối tượng câu hỏi. Các đối tượng này sẽ lưu trữ văn bản câu hỏi mà bài kiểm tra hiển thị cho người dùng, cùng với câu trả lời đúng.
  3. Thay thế mã đầu vào IF và người dùng hiện tại. Thay vào đó, sử dụng một vòng lặp để lặp qua mảng câu đố. Đối với mỗi câu hỏi, hãy hiển thị câu hỏi và so sánh đầu vào của người dùng với câu trả lời đúng .________ 9

Cách thêm câu hỏi trắc nghiệm

Bạn có thể mở rộng lớp câu hỏi để phù hợp với các câu hỏi trắc nghiệm.

  1. Sửa đổi lớp câu hỏi ở đầu tệp. Thêm một thuộc tính tùy chọn được gọi là MultiLeChoiceOptions .________ 10
  2. Thêm một câu hỏi khác vào mảng câu đố. Lưu trữ một số tùy chọn trắc nghiệm cho câu hỏi .________ 11
  3. Sửa đổi một phần của vòng lặp For hiển thị câu hỏi cho người dùng. Nếu các tùy chọn trắc nghiệm tồn tại cho câu hỏi, hãy hiển thị chúng sau câu hỏi và trước khi tìm nạp đầu vào của người dùng .________ 12

Cách thêm một câu hỏi có câu trả lời đúng

Đôi khi có những câu hỏi mà người dùng có thể nhập một phần câu trả lời, nhưng về mặt kỹ thuật vẫn chính xác.

Ví dụ, một trong những câu hỏi trong bài kiểm tra của bạn có thể là "Nhật Bản là gì ở Nhật Bản?". Trong trường hợp này, người dùng có thể gõ "Bắc", "Bắc" hoặc "Bắc bán cầu", và vẫn đúng.

  1. Thêm một thuộc tính tùy chọn khác vào lớp câu hỏi. Thuộc tính này sẽ chứa bất kỳ câu trả lời đúng nào có thể có mà người dùng có thể nhập .________ 13
  2. Thêm một câu hỏi khác vào mảng câu đố. Thêm "Bắc bán cầu" làm câu trả lời đúng. Thêm "North" và "Northern" làm câu trả lời đúng xen kẽ .________ 14
  3. Thêm điều kiện khác vào câu lệnh IF kiểm tra xem người dùng đã nhập câu trả lời đúng thay thế .________ 15

Cách đưa ra gợi ý của người dùng

Bạn có thể sửa đổi tập lệnh để người dùng không thể tiến tới giai đoạn tiếp theo cho đến khi họ nhận được câu hỏi hiện tại chính xác. Trong trường hợp này, thêm một biến để đếm số lần người dùng đã nhập sai câu trả lời. Sau ba dự đoán không chính xác, bạn có thể cho người dùng một gợi ý.

  1. Sửa đổi lớp câu hỏi để sử dụng thuộc tính gợi ý mới .________ 16
  2. Thêm gợi ý cho tất cả các câu hỏi trong bài kiểm tra .________ 17
  3. Xóa các câu lệnh IF kiểm tra xem người dùng có trả lời chính xác câu hỏi không. Thay thế chúng bằng một vòng lặp trong thời gian. Vòng lặp trong khi sẽ liên tục lặp cho đến khi người dùng nhận được câu trả lời chính xác. Bên trong vòng lặp trong khi, thêm một số đếm sẽ hiển thị gợi ý khi người dùng nhận được câu trả lời sai ba lần
  4. Chạy lại câu đố của bạn trong dòng lệnh bằng lệnh python .________ 6
  5. Trả lời các câu hỏi cho bài kiểm tra.

    Multiple quiz questions in the command line

Tạo các ứng dụng nhỏ bằng cách sử dụng Python

Một trong những dự án bạn có thể thực hiện trong khi học cách viết mã trong Python là một bài kiểm tra tương tác. Trong bài kiểm tra, bạn có thể trình bày các loại câu hỏi khác nhau cho người dùng.

Bạn có thể lưu trữ thông tin về các câu hỏi đố trong một đối tượng, để ngăn bạn lặp lại mã của bạn cho mỗi câu hỏi.

Để cải thiện kỹ năng của bạn trong Python, bạn nên thực hành các bài tập và ví dụ khác nhau. Bạn có thể xem xét các ví dụ Python khác có thể giúp bạn học.