Hướng dẫn how to make a personality quiz in python - cách làm một câu đố về tính cách trong python

Bạn có thể tìm hiểu lý do tại sao bạn nhận được kết quả sai trong bản sao được liên kết: Làm cách nào để kiểm tra một biến so với nhiều giá trị ?.

Tuy nhiên, một cách tốt hơn để làm những gì bạn đang cố gắng làm là xây dựng một cái cây. Một cách tốt đẹp để làm một cây trong Python là sử dụng

>>> answer = input["When was the first known use of the word 'quiz'? "]
When was the first known use of the word 'quiz'? 1781

>>> answer == 1781
False

>>> answer == "1781"
True
2:
>>> answer = input["When was the first known use of the word 'quiz'? "]
When was the first known use of the word 'quiz'? 1781

>>> answer == 1781
False

>>> answer == "1781"
True
2
:

from collections import defaultdict

def Tree[]:
    return defaultdict[Tree]

Sau đó, bạn có thể khởi tạo nó với tất cả các giá trị bạn muốn [ví dụ]:

shows = Tree[]

shows['laugh']['supernatural']['action']['trendy'] = 'Lost'
shows['laugh']['supernatural']['horror']['elegantly'] = 'Open All Hours'
shows['think']['humans']['comedy']['casual'] = 'Game of Thrones'
shows['think']['humans']['action']['whatever i can get my hands on'] = 'Bod'
shows['fight']['social pressure']['drama']['eccentric'] = 'Friends'

Bạn cũng có thể chuyển đổi tất cả các đầu vào thành chữ thường, khi nó là đầu vào. Sau đó, bạn không cần phải tiếp tục làm điều đó sau. Ngoài ra tên biến của bạn có thể tốt hơn:

preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]

Cách sử dụng cuối cùng:

show = shows[preference][villain][genre][dress]

if show:
    print['Your television show is... {}!'.format[show]]
else:
    print["I haven't considered that combination"]

edit:

Mã đầu vào của bạn lặp đi lặp lại và đang yêu cầu được thực hiện thành một hàm:

def choose[category, choices, prompt]:
    print[category]
    print[" "]
    for choice in choices:
        print[choice]
    print[" "]
    return input[prompt].lower[]

Usage:

villain = choose['Type of Villain?',
                 ['Supernatural', 'Humans', 'Social Pressure'],
                 'Death by: ']

& nbsp;

! "#$%&! []*%&+,-#" ./-0

1%/2- ,, 3+4 [+5 []*%&+,- #"6/-0 #$+ #2- ,, 7-8 [ #$ [/*[]+] [* /,#9+*[: %& -;#$ ["5-*? %] 3 %*#," a>*b =;#[] " %/> 8 [5,+&& [: % /# "%/] 6/-0 C"%/3/*# $ +8 [ +#, [ +*## $] [[6/[*#-%&* +&:# $] [ [ +&*2 []*D?: -8 [ -& #% #$ [-8[ #$[ /*[] + ][*/,# 9+*[: %& -; #$[" 5-*? %] 3%*#," A>*B =;#[] "%/>8[ 5,+&&[: %/# "%/] 6/-0 C"%/ 3/*# $+8[ +# ,[+*# #$][[ 6/[*#-%&* +&: #$][[ +&*2[]*D? :-8[ -&#% #$[ >> name 'Geir Arne' 0

Trong phần tiếp theo, bạn sẽ thêm một tính năng tương tự. Ngoài việc hiển thị một gợi ý tùy chọn trước khi người dùng trả lời một câu hỏi, bạn sẽ hiển thị một lời giải thích sau khi họ đã trả lời nó.

Thêm các giải thích để củng cố việc học

Bạn có thể thực hiện các giải thích tương tự như cách bạn thực hiện các gợi ý trong phần trước. Đầu tiên, bạn sẽ thêm một trường

preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
60 tùy chọn trong tệp dữ liệu của bạn. Sau đó, trong ứng dụng của bạn, bạn sẽ hiển thị lời giải thích sau khi người dùng đã trả lời một câu hỏi.explanations similarly to how you implemented hints in the previous section. First, you’ll add an optional
preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
60 field in your data file. Then, in your application, you’ll show the explanation after the user has answered a question.

Bắt đầu với việc thêm các khóa

preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
60 trong
shows = Tree[]

shows['laugh']['supernatural']['action']['trendy'] = 'Lost'
shows['laugh']['supernatural']['horror']['elegantly'] = 'Open All Hours'
shows['think']['humans']['comedy']['casual'] = 'Game of Thrones'
shows['think']['humans']['action']['whatever i can get my hands on'] = 'Bod'
shows['fight']['social pressure']['drama']['eccentric'] = 'Friends'
70:

>>> name = input["What's your name? "]
What's your name? Geir Arne

>>> name
'Geir Arne'
1

TomL hỗ trợ các chuỗi đa dòng bằng cách sử dụng trích dẫn ba [

preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
63] theo cách tương tự như Python. Đây là những cách giải thích tuyệt vời có thể kéo dài một vài câu.

Các giải thích sẽ được in lên màn hình sau khi người dùng trả lời một câu hỏi. Nói cách khác, các giải thích không phải là một phần của tương tác người dùng được thực hiện trong

preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
34. Thay vào đó, bạn sẽ in chúng bên trong
shows = Tree[]

shows['laugh']['supernatural']['action']['trendy'] = 'Lost'
shows['laugh']['supernatural']['horror']['elegantly'] = 'Open All Hours'
shows['think']['humans']['comedy']['casual'] = 'Game of Thrones'
shows['think']['humans']['action']['whatever i can get my hands on'] = 'Bod'
shows['fight']['social pressure']['drama']['eccentric'] = 'Friends'
26:

>>> name = input["What's your name? "]
What's your name? Geir Arne

>>> name
'Geir Arne'
2

Bởi vì bạn in lời giải thích sau khi đưa ra phản hồi của người dùng về việc câu trả lời của họ có chính xác hay không, bạn có thể quay lại bên trong

>>> answer = input["When was the first known use of the word 'quiz'? "]
When was the first known use of the word 'quiz'? 1781

>>> answer == 1781
False

>>> answer == "1781"
True
3 ____ ____267 nữa. Do đó, bạn di chuyển câu lệnh
preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
68 đến cuối hàm.

Giải thích của bạn trông giống như sau khi bạn chạy ứng dụng đố vui của mình:

>>> name = input["What's your name? "]
What's your name? Geir Arne

>>> name
'Geir Arne'
3

Các cải tiến cho ứng dụng đố Python của bạn cộng lại. Vui lòng mở rộng các phần bị thu gọn bên dưới để xem mã nguồn đầy đủ với tất cả các tính năng mới của bạn:

Tệp dữ liệu

shows = Tree[]

shows['laugh']['supernatural']['action']['trendy'] = 'Lost'
shows['laugh']['supernatural']['horror']['elegantly'] = 'Open All Hours'
shows['think']['humans']['comedy']['casual'] = 'Game of Thrones'
shows['think']['humans']['action']['whatever i can get my hands on'] = 'Bod'
shows['fight']['social pressure']['drama']['eccentric'] = 'Friends'
70 đầy đủ được sao chép dưới đây:

>>> name = input["What's your name? "]
What's your name? Geir Arne

>>> name
'Geir Arne'
4

Lưu tệp này trong cùng một thư mục với

# quiz.py

answer = input["When was the first known use of the word 'quiz'? "]
if answer == "1781":
    print["Correct!"]
else:
    print[f"The answer is '1781', not {answer!r}"]
7.

Mã nguồn đầy đủ của ứng dụng Quiz của bạn được liệt kê dưới đây:

>>> name = input["What's your name? "]
What's your name? Geir Arne

>>> name
'Geir Arne'
5

Chạy ứng dụng của bạn với

shows = Tree[]

shows['laugh']['supernatural']['action']['trendy'] = 'Lost'
shows['laugh']['supernatural']['horror']['elegantly'] = 'Open All Hours'
shows['think']['humans']['comedy']['casual'] = 'Game of Thrones'
shows['think']['humans']['action']['whatever i can get my hands on'] = 'Bod'
shows['fight']['social pressure']['drama']['eccentric'] = 'Friends'
67.

Trong bước cuối cùng, bạn sẽ thêm một tính năng nữa: hỗ trợ cho một số chủ đề đố trong ứng dụng của bạn.

Bước 6: Hỗ trợ một số chủ đề đố

Trong phần này, bạn sẽ thực hiện một cải tiến cuối cùng sẽ làm cho ứng dụng đố vui của bạn trở nên thú vị, đa dạng và thú vị hơn. Bạn sẽ thêm tùy chọn nhóm các câu hỏi vào các chủ đề khác nhau và cho phép người dùng của bạn chọn chủ đề mà họ sẽ được hỏi.

Phiên bản cuối cùng của ứng dụng Python Quiz của bạn sẽ trông như sau:

Nhiều chủ đề và câu hỏi mới sẽ giữ cho ứng dụng đố của bạn mới. Nhấp vào bên dưới và điều hướng đến thư mục

preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
72 để xem mã nguồn sẽ chăm sóc bạn như thế nào sau khi bạn đã thêm những thứ này:

Các phần trong các tập tin Toml có thể được lồng nhau. Bạn tạo các bảng lồng nhau bằng cách thêm các khoảng thời gian [

preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
73] trong các tiêu đề phần. Như một ví dụ minh họa, hãy xem xét tài liệu Toml sau:

>>>

>>> name = input["What's your name? "]
What's your name? Geir Arne

>>> name
'Geir Arne'
6

Ở đây, tiêu đề phần

preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
74 được biểu thị dưới dạng
preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
75 lồng trong vòng
preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
76. Tương tự, các khóa có thời gian cũng được hiểu là từ điển lồng nhau, bằng chứng là
preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
77 trong ví dụ này.

Bạn có thể tổ chức lại

shows = Tree[]

shows['laugh']['supernatural']['action']['trendy'] = 'Lost'
shows['laugh']['supernatural']['horror']['elegantly'] = 'Open All Hours'
shows['think']['humans']['comedy']['casual'] = 'Game of Thrones'
shows['think']['humans']['action']['whatever i can get my hands on'] = 'Bod'
shows['fight']['social pressure']['drama']['eccentric'] = 'Friends'
70 để bao gồm một phần cho mỗi chủ đề. Ngoài các mảng
shows = Tree[]

shows['laugh']['supernatural']['action']['trendy'] = 'Lost'
shows['laugh']['supernatural']['horror']['elegantly'] = 'Open All Hours'
shows['think']['humans']['comedy']['casual'] = 'Game of Thrones'
shows['think']['humans']['action']['whatever i can get my hands on'] = 'Bod'
shows['fight']['social pressure']['drama']['eccentric'] = 'Friends'
34 lồng nhau, bạn sẽ thêm khóa
preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
80 cung cấp tên cho mỗi chủ đề. Cập nhật tệp dữ liệu của bạn để sử dụng định dạng sau:

>>> name = input["What's your name? "]
What's your name? Geir Arne

>>> name
'Geir Arne'
7

Bây giờ, có hai chủ đề có trong tệp dữ liệu: Python và Thủ đô. Trong mỗi phần chủ đề, các bảng câu hỏi vẫn được cấu trúc giống như trước đây. Điều này có nghĩa là thay đổi duy nhất bạn cần thực hiện là cách bạn chuẩn bị các câu hỏi.

Bạn bắt đầu bằng cách đọc và phân tích cú pháp

shows = Tree[]

shows['laugh']['supernatural']['action']['trendy'] = 'Lost'
shows['laugh']['supernatural']['horror']['elegantly'] = 'Open All Hours'
shows['think']['humans']['comedy']['casual'] = 'Game of Thrones'
shows['think']['humans']['action']['whatever i can get my hands on'] = 'Bod'
shows['fight']['social pressure']['drama']['eccentric'] = 'Friends'
70. Tiếp theo, bạn chọn từng chủ đề và lưu trữ nó trong một từ điển mới, tạm thời. Bạn cần hỏi người dùng về chủ đề mà họ muốn thử. May mắn thay, bạn có thể sử dụng lại
preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
34 để có được đầu vào về điều này. Cuối cùng, bạn chọn ra các câu hỏi thuộc về chủ đề đã chọn và xáo trộn chúng:

>>> name = input["What's your name? "]
What's your name? Geir Arne

>>> name
'Geir Arne'
8

Cấu trúc dữ liệu được trả về bởi

shows = Tree[]

shows['laugh']['supernatural']['action']['trendy'] = 'Lost'
shows['laugh']['supernatural']['horror']['elegantly'] = 'Open All Hours'
shows['think']['humans']['comedy']['casual'] = 'Game of Thrones'
shows['think']['humans']['action']['whatever i can get my hands on'] = 'Bod'
shows['fight']['social pressure']['drama']['eccentric'] = 'Friends'
25 vẫn giống như trước đây, vì vậy bạn không cần thực hiện bất kỳ thay đổi nào đối với
shows = Tree[]

shows['laugh']['supernatural']['action']['trendy'] = 'Lost'
shows['laugh']['supernatural']['horror']['elegantly'] = 'Open All Hours'
shows['think']['humans']['comedy']['casual'] = 'Game of Thrones'
shows['think']['humans']['action']['whatever i can get my hands on'] = 'Bod'
shows['fight']['social pressure']['drama']['eccentric'] = 'Friends'
27,
shows = Tree[]

shows['laugh']['supernatural']['action']['trendy'] = 'Lost'
shows['laugh']['supernatural']['horror']['elegantly'] = 'Open All Hours'
shows['think']['humans']['comedy']['casual'] = 'Game of Thrones'
shows['think']['humans']['action']['whatever i can get my hands on'] = 'Bod'
shows['fight']['social pressure']['drama']['eccentric'] = 'Friends'
26 hoặc
preference = input["Choose carefully: "].lower[]
villain = input["Death by: "].lower[]
genre = input["What will you pick: "].lower[]
dress = input["Fasionably...: "].lower[]
34. Khi các loại cập nhật này chỉ yêu cầu bạn chỉnh sửa một hoặc một vài chức năng, thì đó là một dấu hiệu tốt cho thấy mã của bạn có cấu trúc tốt, với sự trừu tượng tốt.

Chạy ứng dụng đố Python của bạn. Bạn sẽ được chào đón bởi lời nhắc chủ đề mới:

>>> name = input["What's your name? "]
What's your name? Geir Arne

>>> name
'Geir Arne'
9

Điều này kết thúc phần hướng dẫn của hành trình này. Bạn đã tạo ra một ứng dụng đố Python mạnh mẽ trong thiết bị đầu cuối. Bạn có thể thấy mã nguồn đầy đủ cũng như danh sách các câu hỏi bằng cách mở rộng các hộp bên dưới:

Tệp dữ liệu

shows = Tree[]

shows['laugh']['supernatural']['action']['trendy'] = 'Lost'
shows['laugh']['supernatural']['horror']['elegantly'] = 'Open All Hours'
shows['think']['humans']['comedy']['casual'] = 'Game of Thrones'
shows['think']['humans']['action']['whatever i can get my hands on'] = 'Bod'
shows['fight']['social pressure']['drama']['eccentric'] = 'Friends'
70 đầy đủ được sao chép dưới đây:

>>> answer = input["When was the first known use of the word 'quiz'? "]
When was the first known use of the word 'quiz'? 1781

>>> answer == 1781
False

>>> answer == "1781"
True
0

Lưu tệp này trong cùng một thư mục với

# quiz.py

answer = input["When was the first known use of the word 'quiz'? "]
if answer == "1781":
    print["Correct!"]
else:
    print[f"The answer is '1781', not {answer!r}"]
7.

Mã nguồn đầy đủ của ứng dụng Quiz của bạn được liệt kê dưới đây:

>>> answer = input["When was the first known use of the word 'quiz'? "]
When was the first known use of the word 'quiz'? 1781

>>> answer == 1781
False

>>> answer == "1781"
True
1

Chạy ứng dụng của bạn với

shows = Tree[]

shows['laugh']['supernatural']['action']['trendy'] = 'Lost'
shows['laugh']['supernatural']['horror']['elegantly'] = 'Open All Hours'
shows['think']['humans']['comedy']['casual'] = 'Game of Thrones'
shows['think']['humans']['action']['whatever i can get my hands on'] = 'Bod'
shows['fight']['social pressure']['drama']['eccentric'] = 'Friends'
67.

Trong bước cuối cùng, bạn sẽ thêm một tính năng nữa: hỗ trợ cho một số chủ đề đố trong ứng dụng của bạn.

Bước 6: Hỗ trợ một số chủ đề đố

Sự kết luận

Làm tốt lắm! Bạn đã tạo ra một ứng dụng đố vui và hữu ích với Python. Trên đường đi, bạn đã học được cách bạn có thể bắt đầu với một tập lệnh cơ bản và xây dựng nó thành một chương trình phức tạp hơn.

Trong hướng dẫn này, bạn đã học được cách:

  • Tương tác với người dùng trong thiết bị đầu cuối with the user in the terminal
  • Cải thiện khả năng sử dụng ứng dụng của bạn the usability of your application
  • Tái cấu trúc ứng dụng của bạn để liên tục cải thiện nó your application to continuously improve it
  • Lưu trữ dữ liệu trong các tệp dữ liệu chuyên dụng data in dedicated data files

Bây giờ, hãy vui vẻ với ứng dụng đố của bạn. Thêm một số câu hỏi của riêng bạn, và thách thức bạn bè của bạn. Chia sẻ câu hỏi tốt nhất và chủ đề đố của bạn trong các ý kiến ​​dưới đây!

Bước tiếp theo

Như bạn đã theo dõi trong hướng dẫn này, bạn đã tạo ra một ứng dụng đố vui có tính năng tốt. Tuy nhiên, vẫn còn nhiều cơ hội để cải thiện dự án.

Dưới đây là một số ý tưởng cho các tính năng bổ sung:

  • Người tạo Quiz: Thêm một ứng dụng riêng để tương tác hỏi các câu hỏi và câu trả lời và lưu trữ chúng ở định dạng Toml thích hợp. Add a separate application that interactively asks for questions and answers and stores them in the proper TOML format.
  • Lưu trữ dữ liệu trong cơ sở dữ liệu: Thay thế tệp dữ liệu Toml bằng cơ sở dữ liệu thích hợp. Replace the TOML data file with a proper database.
  • Câu hỏi Hub: Tạo cơ sở dữ liệu câu hỏi trung tâm trực tuyến mà ứng dụng của bạn có thể kết nối. Create a central questions database online that your application can connect to.
  • Thử thách đa nhân: Cho phép người dùng khác nhau thách thức nhau trong một cuộc thi đố đàng. Allow different users to challenge each other in a trivia competition.

Bạn cũng có thể sử dụng lại logic trong ứng dụng bài kiểm tra này nhưng thay đổi lớp trình bày phía trước. Có lẽ bạn có thể chuyển đổi dự án thành ứng dụng web hoặc tạo ứng dụng Flashcards để giúp bạn chuẩn bị cho các câu đố của mình. Hãy chia sẻ những cải tiến của bạn trong các ý kiến ​​dưới đây.

Làm cách nào để làm một bài kiểm tra trong Python?

Xây dựng một ứng dụng đố vui với Python..
Bản demo: Ứng dụng đố vui của bạn ..
Tổng quan dự án..
Prerequisites..
Bước 1: Đặt câu hỏi. ....
Bước 2: Làm cho ứng dụng của bạn thân thiện với người dùng. ....
Bước 3: Tổ chức mã của bạn với các chức năng. ....
Bước 4: Tách dữ liệu vào tệp của riêng mình. ....
Bước 5: Mở rộng chức năng đố của bạn ..

Làm thế nào tôi có thể tạo ra bài kiểm tra tính cách của riêng tôi?

Đây là danh sách:..
Tạo một tiêu đề tuyệt vời cho chủ đề của bạn. Điều đầu tiên trước tiên, bạn cần một chủ đề. ....
Đảm bảo rằng dữ liệu cá nhân là an toàn. ....
Viết những câu hỏi thú vị để trả lời. ....
Tạo một bài kiểm tra mọi người rất hào hứng, với kết quả họ muốn chia sẻ. ....
Đảm bảo tất cả các kết quả là có thể ..

4 loại bài kiểm tra tính cách là gì?

Dưới đây chúng tôi đi sâu vào bốn mô hình phổ biến được sử dụng để xác định các loại tính cách: Chỉ số loại Myers-Briggs [MBTI], 16 tính cách, tính cách Big 5 và Loại A, B, C và D.Myers-Briggs Type Indicator [MBTI], 16 Personalities, The Big 5 and Type A, B, C and D Personalities.

Bài kiểm tra MBTI có miễn phí không?

Q. Bài kiểm tra tính cách này có thực sự miễn phí không?A. Bạn không cần mua hoặc đăng ký để thực hiện bài kiểm tra này và xem tổng quan về kết quả của bạn.Nếu bạn muốn, bạn có thể mua một báo cáo đầy đủ toàn diện hơn với một khoản phí nhỏ.You do not need to purchase or register to take this test and view an overview of your results. If you would like, you can purchase a more comprehensive full report for a small fee.

Bài Viết Liên Quan

Chủ Đề