0
嗨,這是我的代碼由於某種原因後最後一個循環代碼只是直接跳到else語句並打印它約4次,然後去if語句並打印解決方案。請有人可以幫忙。Python代碼跳到其他
while True:
d = {}
with open("keyword_database.txt") as f:
for line in f:
(key,val) = line.split(":")
d[str(key)] = val
try:
userinput=input(str("What is the problem with your phone?\nEnter here in lower:"))
print()
except:
print ("Invalid Input")
for word in userinput.split():
if word in d:
print(d[word])
print()
else:
print("Please Re-Phrase your problem and Try Again")
print()
這就是它運行代碼後打印的內容。
您的手機有什麼問題?較低的進入這裏:我的手機是 破
請重新短語你的問題,然後再試一次
請重新短語你的問題,然後再試一次
請重新短語你的問題,然後再試一次
問題=損壞的解決方案=把你的手機送到維修店,然後從那裏修理它,但是請記住,如果有人打開你的蘋果電話除了蘋果之外,那麼保修將是VOID(無效)。
這是因爲' 'my'','' phone''和''is''在'D'都沒有。因此,對於這三個詞,您的'else'分支將被使用。你需要重新思考你如何測試單詞匹配。 –