所以我最初編寫這段代碼是爲了弄清楚一個人是誰,得到了一些if/elif/else語句。問題是我無法弄清楚如何讓else語句回到原來的問題,因爲這個問題只是由一個變量= raw_input語句表示的。這個想法是爲了讓我的很多朋友錯綜複雜。在用else語句修復原始問題時,我搞亂了添加部分以確定答案。我如何修復它實際計數,因爲它走了?正如你所看到的,我對編碼非常陌生。對於基本問題,我很抱歉,因爲我確信答案非常簡單。我感謝任何幫助。Python通過if else和def添加
from sys import exit
Tom = 0
Jon = 0
Chris = 0
def question_a():
q1 = raw_input("Hello there. I am going to try to guess who you are. Would you like to play?")
if q1 == "yes":
question_b()
elif q1 == "no":
print "Well f**k you too then"
else:
print "You should follow the rules."
question_a()
def question_b():
print "Do you have any hair?"
q1 = raw_input("> ")
if q1== "no":
print "you're Karl"
exit(0)
elif q1 == "yes":
Tom == Tom + 1
Chris == Chris + 1
Jon == Jon + 1
question_c()
else:
print "You should follow the rules."
question_b()
def question_c():
print "Do you enjoy working on cars?"
q1 = raw_input("> ")
if q1 == "yes":
Chris == Chris + 1
Jon == Jon + 1
question_d()
elif q1 == "no":
Tom == Tom + 1
question_d()
else:
print "you should follow the rules."
question_c()
def question_d():
print "Do you own a husky?"
q1 = raw_input("> ")
if q1 == "no":
Tom == Tom + 1
Chris == Chris + 1
elif q1 == "yes":
Jon == Jon + 1
else:
print "Hey you, follow the rules."
question_d()
# python guess_who2.py
for Tom > Jon and Tom > Chris:
print "You're Tom"
for Jon > Chris and Jon > Tom:
print "You're Jon"
for Chris > Tom and Chris > Jon:
print "You're Chris"
question_a()
你已經搞砸了不止於此。由於語法錯誤,此程序無法運行。我推薦增量編程:一次寫幾行。在寫更多內容之前讓那些人工作。繼續執行,直到遇到無法解決的問題。 – Prune
您已使用** == **而不是** = **進行分配。你的計數器需要是全局變量,而不是本地的。你正在進行遞歸調用(一個自己調用的函數),沒有特別的原因。你真的需要修復這些東西,然後才能擔心你的計數邏輯。最後,您使用關鍵字**作爲**來推動決策;如果**陳述,那些應該更**。 – Prune