我正在嘗試編寫一個允許用戶回答問題的程序。 問題與用戶選擇的文件中的答案相同,隨後程序將隨機選擇該行,拆分該行並將這兩個項目放入單獨的返回變量中。儘管如此,在比較最後的變量時,我感到茫然。我懷疑我試圖將一個str與一個元組進行比較,這就是爲什麼它不起作用。我當然是一個新手,通過搜索論壇來到目前爲止,但現在我需要你的幫助。與list()返回值的損失,我是否需要將元組轉換爲字符串?
非常感謝!
import random
import operator
def random_line(file):
return random.choice(list(open(file)))
def seperate_values(a):
line = a
lst = line.split()
question = list([lst[i] for i in [0]])
answer = list([lst[i] for i in [1]])
return question, answer
current_list = raw_input("Please enter filename\n")
chosen_line = random_line(current_list)
chosen_question, chosen_answer = seperate_values(chosen_line)
print chosen_question
print chosen_answer
user_answer = raw_input("enter the 3-digit code please\n")
if user_answer == chosen_answer:
print "congratulations"
else:
print "failure"
正在讀取該文件是一個txt,看起來像這樣:
auckland akl
wellington wlg
taupo tuo
hamilton hlz
它正在閱讀的文件的格式是什麼?你可以發佈一個示例文件嗎? – javanut13 2014-12-07 03:50:15
這是一個簡單的多行文本文本,如下所示:auckland akl – Kalv 2014-12-07 03:55:26
順便說一句,如果您打算擴展該程序,以便從文件中提出多個問題,您應該修復'random_line()'函數,你不得不打開文件,閱讀它的內容,並且創建一個行列表,每一次你想要一個新的隨機行。 – 2014-12-07 07:01:45