我想把所有正確的答案放在一個串列中,并對答案設定一個條件,如果用戶會重復他們的答案,一旦它在串列中,他們就不會得到一分。我遇到了一個問題,只有第一個輸入才能正確檢測,其余條件將不滿足。
while again:
for i in range(0,10):
answer = []
answerlst = input(str(i 1) '. ').upper()
if f'{answerlst}\n' in f.read():
print ("found")
answer.append(answerlst)
else:
print("not found")
print(answer)
ask = input("Wanna play again? [Y] / [N]: ").upper()
if ask == 'Y':
again = True
else:
again = False
例如,我輸入spider,一開始它會檢測為found,在第二個輸入中,如果我輸入height,它會在滿足第一個條件時檢測為not found。另外,根據 else 條件,如果用戶輸入了錯誤的答案,則回圈不會退出,它只會從應退出程式的輸入答案回傳。我很確定我在回圈中遇到了問題,但我不知道如何解決。
主題1。文本
蜘蛛
高度
uj5u.com熱心網友回復:
嘗試使用正則運算式
import re
while again:
for i in range(0,10):
answer = []
answerlst = input(str(i 1) '. ').upper()
if re.search(f'{answer}(?:$|\r?\n)', f.read()):
print("found")
answer.append(answerlst)
else:
print("not found")
print(answer)
ask = input("Wanna play again? [Y] / [N]: ").upper()
if ask == 'Y':
again = True
else:
again = False
它實際上檢查您的單詞是否在檔案的任何行中
告訴我它是否對你不起作用...
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/329046.html
標籤:Python
