我对python很新,我正在尝试为大学作业做一个小游戏。我试图从一些外部文本文件中打印一个随机选择的单词(每个单词中都有较难的单词),并将其显示2秒钟,然后该单词消失,用户必须拼写它。目前,我的程序只显示文本文件中的随机字母,而不是整个单词。有什么想法吗?
感谢。
print ("""Welcome to the Spelling Game
What difficulty do you want to play?
Easy, Medium or Hard?""")
strDifficulty = input().upper
if strDifficulty is ("EASY"):
with open ('EASY.txt', 'r') as f:
(chosen) = f.readlines()
if strDifficulty is ("MEDIUM"):
with open ('MEDIUM.txt', 'r') as f:
(chosen) = f.readlines()
if strDifficulty is ("HARD"):
with open ('HARD.txt', 'r') as f:
(chosen) = f.readlines()
import random
x = ('chosen')
print (random.choice (x))
答案 0 :(得分:2)
您的代码存在多个问题,为什么会打印出单个字符:
strDifficulty = input().upper
不是命令行的大写输入。它将读取您键入的内容,即字符串(python中为str
),并将该字符串的方法upper
分配给strDifficulty
。您可能正在寻找的是strDifficulty = input().upper()
(额外的括号将调用方法upper,返回从标准中读取的大写版本。
x = ('chosen')
将字符串'chosen'
分配给x,而不是变量chosen
的值。您可能需要x = chosen
,将chosen
的值分配给x
。
print (random.choice(x))
并不遥远,但会从x
中选择一个随机元素。由于x
始终是字符串'chosen'
,因此您可能会收到其中一封字母。您只需删除该行x = ('chosen')
并致电print(random.choice(chosen))
。
关于你的代码还有很多话要说,但让我们从这里开始:)
答案 1 :(得分:0)
我对您的代码进行了一些修改。
print ("""Welcome to the Spelling Game
What difficulty do you want to play?
Easy, Medium or Hard?""")
strDifficulty = input().upper()
if strDifficulty=="EASY":
with open ('EASY.txt', 'r') as f:
chosen = f.readlines()
if strDifficulty=="MEDIUM":
with open ('MEDIUM.txt', 'r') as f:
chosen = f.readlines()
if strDifficulty=="HARD":
with open ('HARD.txt', 'r') as f:
chosen = f.readlines()
import random
print (random.choice (chosen))