3 回答

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊
在這里,您嘗試將難度附加到“級(jí)別”字符串。
word = (random.choice(open("Level"(difficulty).txt).read().split()))
你可以試試這樣的
word = (random.choice(open("Level{0}.txt".format(difficulty)).read().split()))
實(shí)際獲得您期望的文件名。
有了這個(gè),您還可以刪除
if difficulty == X:
部分,但您需要注意檢查您嘗試使用用戶輸入打開的文件是否確實(shí)存在。
而且您還需要查看您的 checkLetter 方法,因?yàn)樵撔?/p>
guess_word[word.index(c)] = c
只會(huì)改變 guess_word 字符串中正確字母的第一次出現(xiàn)(如果字母出現(xiàn)不止一次,可能會(huì)改變多次)。您需要獲取正確字母每次出現(xiàn)的位置。

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
您正試圖將一個(gè)單詞讀兩遍。將 if 語句中的行替換為: word=(random.choice(open("Level1.txt").read().split()))
不要忘記在 if-elif 塊之前聲明 'word'。并刪除 if 語句末尾的行。 word = (random.choice(open("Level"(difficulty).txt).read().split()))
此外,按照其他答案中的建議將輸入視為字符串。這應(yīng)該根據(jù)我的工作

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊
一個(gè)可能的問題是您嘗試讀取目標(biāo)文件兩次,并且第一次從未關(guān)閉它??紤]只讀取一次輸入文件:
while True:
difficulty = int(input("""choose your difficulty,
1 = EASY
2 = INTERMEDIATE
3 = HARD
4 = VERY HARD
5 = INSANE"""))
if difficulty >= 1 and difficult <= 5:
break
else:
print("Please enter a difficulty level of 1 to 5")
word = random.choice(open("Level"(difficulty).txt).read().split())
此外,input()返回一個(gè)字符串,因此如果您想將difficulty視為整數(shù),則將結(jié)果從input().
添加回答
舉報(bào)