3 回答
TA貢獻2065條經(jīng)驗 獲得超14個贊
在這里,您嘗試將難度附加到“級別”字符串。
word = (random.choice(open("Level"(difficulty).txt).read().split()))你可以試試這樣的
word = (random.choice(open("Level{0}.txt".format(difficulty)).read().split()))實際獲得您期望的文件名。
有了這個,您還可以刪除
if difficulty == X:
部分,但您需要注意檢查您嘗試使用用戶輸入打開的文件是否確實存在。
而且您還需要查看您的 checkLetter 方法,因為該行
guess_word[word.index(c)] = c
只會改變 guess_word 字符串中正確字母的第一次出現(xiàn)(如果字母出現(xiàn)不止一次,可能會改變多次)。您需要獲取正確字母每次出現(xiàn)的位置。
TA貢獻1802條經(jīng)驗 獲得超6個贊
您正試圖將一個單詞讀兩遍。將 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貢獻1802條經(jīng)驗 獲得超4個贊
一個可能的問題是您嘗試讀取目標(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()返回一個字符串,因此如果您想將difficulty視為整數(shù),則將結(jié)果從input().
添加回答
舉報
