There is no commentSelect some text and then click Comment, or simply add a comment to this page from below to start a discussion.
Python 專題 == MBTI
程式碼:
defistj():
print("IIIIIIIIII SSSSSSSSSS TTTTTTTTTT JJJJJJJJJJ")
print(" II SS TT JJ ")
print(" II SS TT JJ ")
print(" II SSSSSSSSSS TT JJ ")
print(" II SS TT JJ ")
print(" II SS TT JJ JJ ")
print("IIIIIIIIII SSSSSSSSSS TT JJJJJJ ")
defistp():
print("IIIIIIIIII SSSSSSSSSS TTTTTTTTTT PPPPPPPPPP")
print(" II SS TT PP PP")
print(" II SS TT PP PP")
print(" II SSSSSSSSSS TT PPPPPPPPPP")
print(" II SS TT PP ")
print(" II SS TT PP ")
print("IIIIIIIIII SSSSSSSSSS TT PP ")
defisfj():
print("IIIIIIIIII SSSSSSSSSS FFFFFFFFFF JJJJJJJJJJ")
print(" II SS FF JJ ")
print(" II SS FF JJ ")
print(" II SSSSSSSSSS FFFFFF JJ ")
print(" II SS FF JJ ")
print(" II SS FF JJ JJ ")
print("IIIIIIIIII SSSSSSSSSS FF JJJJJJ ")
defisfp():
print("IIIIIIIIII SSSSSSSSSS FFFFFFFFFF PPPPPPPPPP")
print(" II SS FF PP PP")
print(" II SS FF PP PP")
print(" II SSSSSSSSSS FFFFFF PPPPPPPPPP")
print(" II SS FF PP ")
print(" II SS FF PP ")
print("IIIIIIIIII SSSSSSSSSS FF PP ")
defintj():
print("IIIIIIIIII NN N TTTTTTTTTT JJJJJJJJJJ")
print(" II N NN N TT JJ ")
print(" II N NN N TT JJ ")
print(" II N NN N TT JJ ")
print(" II N NN N TT JJ ")
print(" II N NN N TT JJ JJ ")
print("IIIIIIIIII N NN TT JJJJJJ ")
defintp():
print("IIIIIIIIII NN N TTTTTTTTTT PPPPPPPPPP")
print(" II N NN N TT PP PP")
print(" II N NN N TT PP PP")
print(" II N NN N TT PPPPPPPPPP")
print(" II N NN N TT PP ")
print(" II N NN N TT PP ")
print("IIIIIIIIII N NN TT PP ")
definfj():
print("IIIIIIIIII NN N FFFFFFFFFF JJJJJJJJJJ")
print(" II N NN N FF JJ ")
print(" II N NN N FF JJ ")
print(" II N NN N FFFFFF JJ ")
print(" II N NN N FF JJ ")
print(" II N NN N FF JJ JJ ")
print("IIIIIIIIII N NN FF JJJJJJ ")
definfp():
print("IIIIIIIIII NN N FFFFFFFFFF PPPPPPPPPP")
print(" II N NN N FF PP PP")
print(" II N NN N FF PP PP")
print(" II N NN N FFFFFF PPPPPPPPPP")
print(" II N NN N FF PP ")
print(" II N NN N FF PP ")
print("IIIIIIIIII N NN FF PP ")
defestj():
print("EEEEEEEEEE SSSSSSSSSS TTTTTTTTTT JJJJJJJJJJ")
print("EE SS TT JJ ")
print("EE SS TT JJ ")
print("EEEEEEEE SSSSSSSSSS TT JJ ")
print("EE SS TT JJ ")
print("EE SS TT JJ JJ ")
print("EEEEEEEEEE SSSSSSSSSS TT JJJJJJ ")
defestp():
print("EEEEEEEEEE SSSSSSSSSS TTTTTTTTTT PPPPPPPPPP")
print("EE SS TT PP PP")
print("EE SS TT PP PP")
print("EEEEEEEE SSSSSSSSSS TT PPPPPPPPPP")
print("EE SS TT PP ")
print("EE SS TT PP ")
print("EEEEEEEEEE SSSSSSSSSS TT PP ")
defesfj():
print("EEEEEEEEEE SSSSSSSSSS FFFFFFFFFF JJJJJJJJJJ")
print("EE SS FF JJ ")
print("EE SS FF JJ ")
print("EEEEEEEE SSSSSSSSSS FFFFFF JJ ")
print("EE SS FF JJ ")
print("EE SS FF JJ JJ ")
print("EEEEEEEEEE SSSSSSSSSS FF JJJJJJ ")
defesfp():
print("EEEEEEEEEE SSSSSSSSSS FFFFFFFFFF PPPPPPPPPP")
print("EE SS FF PP PP")
print("EE SS FF PP PP")
print("EEEEEEEE SSSSSSSSSS FFFFFF PPPPPPPPPP")
print("EE SS FF PP ")
print("EE SS FF PP ")
print("EEEEEEEEEE SSSSSSSSSS FF PP ")
defentj():
print("EEEEEEEEEE NN N TTTTTTTTTT JJJJJJJJJJ")
print("EE N NN N TT JJ ")
print("EE N NN N TT JJ ")
print("EEEEEEEE N NN N TT JJ ")
print("EE N NN N TT JJ ")
print("EE N NN N TT JJ JJ ")
print("EEEEEEEEEE N NN TT JJJJJJ ")
defentp():
print("EEEEEEEEEE NN N TTTTTTTTTT PPPPPPPPPP")
print("EE N NN N TT PP PP")
print("EE N NN N TT PP PP")
print("EEEEEEEE N NN N TT PPPPPPPPPP")
print("EE N NN N TT PP ")
print("EE N NN N TT PP ")
print("EEEEEEEEEE N NN TT PP ")
defenfj():
print("EEEEEEEEEE NN N FFFFFFFFFF JJJJJJJJJJ")
print("EE N NN N FF JJ ")
print("EE N NN N FF JJ ")
print("EEEEEEEE N NN N FFFFFF JJ ")
print("EE N NN N FF JJ ")
print("EE N NN N FF JJ JJ ")
print("EEEEEEEEEE N NN FF JJJJJJ ")
defenfp():
print("EEEEEEEEEE NN N FFFFFFFFFF PPPPPPPPPP")
print("EE N NN N FF PP PP")
print("EE N NN N FF PP PP")
print("EEEEEEEE N NN N FFFFFF PPPPPPPPPP")
print("EE N NN N FF PP ")
print("EE N NN N FF PP ")
print("EEEEEEEEEE N NN FF PP ")
print("\t\t 這是一個MBTI人格測試")
print("--------------------請回答以下的題目--------------------")
import os
I,E,N,S,T,F,J,P=0,0,0,0,0,0,0,0whileTrue:
print("\n1.在生活上,你比較相信自己的_____")
print("1==直覺")
print("2==經驗")
q1 = int(input('請輸入1或者2:'))
if q1 == 1:
N = N + 1else:
S = S + 1print("\n2.看書或者看電影時,你對故事的鴃舌的想法通常是____")
print("1==很投入某個角色的心情,跟著他上下起伏")
print("2==他們跟我在不同世界,比較在乎劇情邏輯")
q2 = int(input('請輸入1或者2:'))
if q2 == 1:
F = F + 1else:
T = T + 1print("\n3.坐在大廳等待 check in,你會從哪裡開始觀察這間飯店?")
print("1==看周圍其他旅客,並猜測飯店的客群")
print("2==看擺設,例如花、吊燈、地毯、藝術品")
print("3==看屁股下這張椅子的材質、顏色與造型")
print("4==看電梯、餐廳、廁所在哪,掌握空間配置")
q3 = int(input('請輸入1,2,3或者4:'))
if q3 == 1or q3 == 4:
N = N + 1elif q3 == 2or q3 == 3:
S = S + 1print("\n4.哪個敘述比較接近你的穿衣哲學?")
print("1==注重飾品、顏色與整體搭配")
print("2==依照每天心情決定要穿什麼")
print("3==不想動腦,同款的衣服好幾件")
print("4==衣服長怎樣不重要,乾淨就好")
q4 = int(input('請輸入1,2,3或者4:'))
if q4 == 1or q4 == 2:
S = S + 1elif q4 == 3or q4 == 4:
N = N + 1print("\n5.到新環境的第一天,你會...")
print("1==默默做自己的事情,不太好意思跟人講話")
print("2==主動找人搭話,很快開始認識新朋友")
q5 = int(input('請輸入1或者2:'))
if q5 == 1:
I = I + 1else:
E = E + 1print("\n6.跟朋友一起出去玩,你通常...")
print("1==完全跟上所有活動,全程樂在其中")
print("2==到了某個時間點,會突然開始放空")
q6 = int(input('請輸入1或者2:'))
if q6 == 1:
E = E + 1else:
I = I + 1print("\n7.到大賣場進行例行採購,你傾向...")
print("1==直接朝預設目標前進,速戰速決")
print("2==還是會從頭開始閒逛,東看西看")
q7 = int(input('請輸入1或者2:'))
if q7 == 1:
J = J + 1else:
P = P + 1print("\n8.你覺得跟哪種人相處比較自在?")
print("1==有點善變,但處處替人著想的人")
print("2==不近人情,但做事公平公正的人")
q8 = int(input('請輸入1或者2:'))
if q8 == 1:
F = F + 1else:
T = T + 1print("\n9.工作上發生很煩人的事,你會傾向怎麼處理?")
print("1==自己找個地方靜一靜,把情緒消化掉就沒事了")
print("2==立刻找朋友大聊特聊,把情緒發洩掉就沒事了")
q9 = int(input('請輸入1或者2:'))
if q9 == 1:
I = I + 1else:
E = E + 1print("\n10.哪一個是你比較理想的生活節奏?")
print("1==把工作與休息完全切開,休息時完全關機")
print("2==想工作就工作、想休息就休息,隨心所欲")
q10 = int(input('請輸入1或者2:'))
if q10 == 1:
J = J + 1else:
P = P + 1print("\n11.抬頭看向天空,有兩隻鳥飛過一片雲朵中間,這時你會想...")
print("1==哇,這個畫面真美,心情好好")
print("2==那兩隻是什麼鳥啊?")
print("3==喔,天色已經這麼晚了!")
print("4==真想像牠們一樣自由自在")
q11 = int(input('請輸入1,2,3或者4:'))
if q11 == 1or q11 == 4:
F = F + 1elif q11 == 2or q11 == 3:
T = T + 1print("\n12.你對於「自律的人,才能擁有自由」這句話的想法比較接近...")
print("1==認同並努力執行")
print("2==光聽就壓力山大")
q12 = int(input('請輸入1或者2:'))
if q12 == 1:
J = J + 1else:
P = P + 1
os.system('cls')
if I>E:
if S>N:
if T>F:
if J>P:
istj()
print("\n\nMBTI: ISTJ")
print("\n物流師")
print("實際且注重事實的個人,可靠性不容懷疑")
print("形狀: 八邊形")
print("人格類別: 守護者")
print("代表人物: 娜塔莉·波曼、史恩·康納萊、喬治·華盛頓")
else: #P>J
istp()
print("\n\nMBTI: ISTP")
print("\n鑑賞家")
print("大膽而實際的實驗家,擅長使用任何形式的工具")
print("形狀: 四角星星")
print("人格類別: 探險家")
print("代表人物: 賈伯斯、達賴喇嘛、艾希頓·庫奇")
else: #F>Tif J>P:
isfj()
print("\n\nMBTI: ISFJ")
print("\n守衛者")
print("非常專注而溫暖的守護者,時刻準備著保護愛著的人們")
print("形狀: 無形")
print("人格類別: 守護者")
print("代表人物: 尹淨漢、肯伊·威斯特、德蕾莎修女")
else: #P>J
isfp()
print("\n\nMBTI: ISFP")
print("\n探險家")
print("靈活有魅力的藝術家,時刻準備著探索和體驗新鮮事物")
print("形狀: 六角星星")
print("人格類別: 探險家")
print("代表人物: 賈伯斯、達賴喇嘛、艾希頓·庫奇")
else: #N>Sif T>F:
if J>P:
intj()
print("\n\nMBTI: INTJ")
print("\n建築師")
print("富有想像力和戰略性的思想家,一切皆在計劃之中")
print("形狀: 三角形")
print("人格類別: 分析家")
print("代表人物: 祖克伯、馬克思")
else: #P>J
intp()
print("\n\nMBTI: INTP")
print("\n邏輯學家")
print("\n具有創造力的發明家,對知識有著止不住的渴望")
print("形狀: 五邊形")
print("人格類別: 分析家")
print("代表人物: 愛因斯坦、林肯")
else: #F>Tif J>P:
infj()
print("\n\nMBTI: INFJ")
print("\n提倡者")
print("安靜而神秘,同時鼓舞人心且不知疲倦的理想主義者")
print("形狀: Scutoid 盾片狀")
print("人格類別: 外交家")
print("代表人物: 全圓佑、李知勳、徐明浩")
else: #P>J
infp()
print("\n\nMBTI: INFP")
print("\n調停者")
print("詩意,善良的利他主義者,總是熱情地為正當理由提供幫助")
print("形狀: 九邊形")
print("人格類別: 外交家")
print("代表人物: 崔勝哲、文俊輝、全順榮、李碩珉")
else: #E>Iif S>N:
if T>F:
if J>P:
estj()
print("\n\nMBTI: ESTJ")
print("\n總經理")
print("出色的管理者,在管理事情或人的方面無與倫比")
print("形狀: 正1000邊形")
print("人格類別: 守護者")
print("代表人物: 肯伊·威斯特、劍橋公爵夫人凱特、德蕾莎修女")
else: #P>J
estp()
print("\n\nMBTI: ESTP")
print("\n企業家")
print("聰明,精力充沛善於感知的人們,真心享受生活在邊緣")
print("形狀: 八角星星")
print("人格類別: 探險家")
print("代表人物: 安潔莉娜・裘莉、川普、凱文·史貝西")
else: #F>Tif J>P:
esfj()
print("\n\nMBTI: ESFJ")
print("\n執政官")
print("極有同情心,愛交往受歡迎的人們,總是熱心提供幫助")
print("形狀: 六邊形")
print("人格類別: 守護者")
print("代表人物: 泰勒絲、比爾·柯林頓")
else: #P>J
esfp()
print("\n\nMBTI: ESFP")
print("\n表演者")
print("自發的,精力充沛而熱情的表演者-生活在他們周圍永不無聊")
print("形狀: 貓咪型")
print("人格類別: 探險家")
print("代表人物: 李奧納多·狄卡皮歐、麥莉·希拉")
else: #N>Sif T>F:
if J>P:
entj()
print("\n\nMBTI: ENTJ")
print("\n指揮官")
print("大膽,富有想像力且意志強大的領導者,總能找到或創造解決方法")
print("形狀: 正方形")
print("人格類別: 分析家")
print("代表人物: 希拉蕊、茱蒂法官")
else: #P>J
entp()
print("\n\nMBTI: ENTP")
print("\n辯論家")
print("聰明好奇的思想者,不會放棄任何智力上的挑戰")
print("形狀: 箏形\n")
print("人格類別: 分析家")
print("代表人物: 歐巴馬、富蘭克林、達文西")
else: #F>Tif J>P:
enfj()
print("\n\nMBTI: ENFJ")
print("\n主角")
print("富有魅力鼓舞人心的領導者,有使聽眾著迷的能力")
print("形狀: 方圓形")
print("人格類別: 外交家")
print("代表人物: 洪知秀、金珉奎、李燦")
else: #P>J
enfp()
print("\n\nMBTI: ENFP")
print("\n競選者")
print("熱情,有創造力愛社交的自由自在的人,總能找到理由微笑")
print("形狀: 十二角星")
print("人格類別: 外交家")
print("代表人物: 夫勝寛、崔瀚率")
x = int(input("\n\n是否繼續測驗(1:是 0:否):"))
if x == 0:
break
os.system('cls')
程式碼解釋:
函式(Function)
defistj():
print("IIIIIIIIII SSSSSSSSSS TTTTTTTTTT JJJJJJJJJJ")
print(" II SS TT JJ ")
print(" II SS TT JJ ")
print(" II SSSSSSSSSS TT JJ ")
print(" II SS TT JJ ")
print(" II SS TT JJ JJ ")
print("IIIIIIIIII SSSSSSSSSS TT JJJJJJ ")
我利用了函式來設計了ASCII的圖案
目的是為了讓輸出更好看更美觀
以此類推,16種人格都使用了函式來設計ASCII圖案
迴圈(Loop)
whileTrue:
我使用了while迴圈來讓這個程式進入一個循環
True的部分是為了讓這個程式碼一直迴圈
變數(Variable)
I,E,N,S,T,F,J,P=0,0,0,0,0,0,0,0
這些變數是為了收集4種維度8個面向
Extraversion (E)(外向)– Introversion (I)(內向)
Sensing (S) (感覺)– Intuition (N)(直覺)
Thinking (T)(思考)– Feeling (F)(情感)
Judging (J) (判斷)– Perceiving §(感知)
輸入(Input) && 問題(Question)
一共有12個問題來收集那4個維度8個面向
例如:
print("\n1.在生活上,你比較相信自己的_____")
print("1==直覺")
print("2==經驗")
q1 = int(input('請輸入1或者2:'))
if q1 == 1:
N = N + 1else:
S = S + 1
q1的變數是指第一題的輸入變數
玩家輸入的值是1或者2。這是為了更方便我們收集資料。
當玩家輸入1時,變數N就會+1
反之,輸入2就會讓變數S會+1
以此類推,12題都是這種操作
在程式碼的最後還有一個輸入是為了讓玩家輸入是否繼續輸入還是中斷
x = int(input("\n\n是否繼續測驗(1:是 0:否):"))
if x == 0:
break