gpt4 book ai didi

python - 刽子手读取用户的输入文件

转载 作者:太空宇宙 更新时间:2023-11-03 15:53:01 25 4
gpt4 key购买 nike

我想做的是读取用户的文本文件,然后使用该特定文件运行游戏。我知道使用函数会更容易,但我不知道如何用函数修改整个代码。

如何使用用户输入的文本文件运行游戏?

import random
import sys

choice = None

while choice != "0":
print('''
--------------------
Welcome to Hangman
--------------------

Please select a menu option:

0 - Exit
1 - Enter a new text file to be read:
2 - Play Game

''')
choice= input("Enter you choice: ")

if choice == "0":
sys.exit("Exiting from Python")
elif choice =="1":
newIn = []
fileInput = input("Enter a new text file name: ")
newIn = open(fileInput).readlines()
newIn=List

elif choice == "2":
List = open("words_for_hangman.txt").readlines()
print('''

Now select your difficulty level:

0 - EASY
1 - INTERMEDIATE
2 - HARD

''')
level= input("Enter your choice: ")
if level == "0":
word = random.choice(List)
word = word.strip()
hidden_word = "*" * len(word)
lives = 10
guessed = []
elif level == "1":
word = random.choice(List)
word = word.strip()
hidden_word = "*" * len(word)
lives = 7
guessed = []
elif level == "2":
word = random.choice(List)
word = word.strip()
hidden_word = "*" * len(word)
lives = 5
guessed = []

while lives != 0 and hidden_word != word:
print("\n-------------------------------")
print("The word is")
print(hidden_word.replace("_"," _ "))
print("\nThere are", len(word), "letters in this word")
print("So far the letters you have guessed are: ")
print(' '.join(guessed))
print("\n You have", lives,"lives remaining")
guess = input("\n Guess a letter: \n")
guess = guess.upper()
if len(guess) > 1:
guess = input("\n You can only guess one letter at a time!\n Try again: ")
guess = guess.upper()
elif guess== " ":
guess = input("\n You need to input a letter, not a space!\n Come on let's try again: ")
guess = guess.upper()
while guess in guessed:
print("\n You have already guessed that letter!")
guess = input("\n Please take another guess: ")
guess = guess.upper()
guessed.append(guess)
if guess in word:
print('''-------------------------------
''')
print("Well done!", guess.upper(),"is in the word")
word_so_far = ""
for i in range (len(word)):
if guess == str(word[i]):
word_so_far += guess
else:
word_so_far += hidden_word[i]
hidden_word = word_so_far
else:
print('''-------------------------------
''')
print("Sorry, but", guess, "is not in the word")
lives -= 1

if lives == 0:
print("GAME OVER! You have no lives left")
else:
print("\n CONGRATULATIONS! You have guessed the word")
print("The word was", word)
print("\nThank you for playing Hangman")
else:
choice = print("\n That is not a valid option! Please try again!")
choice = input("Choice: ")

最佳答案

乍一看,程序有两个错误

  1. 线条
    newIn = open(fileInput).readlines()
    新输入=列表
    首先将文件读入变量newIn,然后通过将newIn 的内容设置为List 的内容来删除它。我猜你想做List = open(fileInput).readlines()正如您在第二部分中所做的那样。

  2. 第二个错误是只有当用户按 2 时才会玩整个游戏。尝试从以下位置开始移动整个 block
    而 lives != 0 且hidden_​​word != word:
    向左移动,以便当用户按 12 时输入该 block 。另外,如果这样做,程序末尾的 else 应该位于 while live != 0...

  3. 之前

关于python - 刽子手读取用户的输入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41086888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com