制作一个简单的文字游戏谁能帮我提高效率?(Python)
这是一个函数,它从.txt文件中提取一个随机单词,然后用下划线填充其中的一些字母。有人能提高效率吗?多谢各位制作一个简单的文字游戏谁能帮我提高效率?(Python),python,Python,这是一个函数,它从.txt文件中提取一个随机单词,然后用下划线填充其中的一些字母。有人能提高效率吗?多谢各位 import random def randomword(): word = random.choice(open('words.txt').readlines()) length = len(word)-1 random1=random.randint(0,len(word)-2) random2=random.randint(0,len(word)-2) list
import random
def randomword():
word = random.choice(open('words.txt').readlines())
length = len(word)-1
random1=random.randint(0,len(word)-2)
random2=random.randint(0,len(word)-2)
listword=list(word)
listword[random1]="_"
listword[random2]="_"
newword="".join(listword)
print (newword)
word()
你可以这样做:
import random
def randomword(words):
word = random.choice(words)
return ''.join( [ c if i not in random.sample(list(range(len(word))), random.randint(1,5)) else '_' for i,c in enumerate(word)] )
并调整randint(1,5)
以反映所需替换值的最小和最大数量
如果您多次调用此函数,我还建议您只读取单词列表一次,并将其作为参数传递给函数(甚至将其用作全局变量)。您发布的代码实际上没有运行(我假设
word()
应该是randomword()
)。有一个单独的网站进行审查,因此要求改进在这里将是离题的。然而,在担心效率之前,我会花一些时间来熟悉Python;很多效率都来自于对语言的探索和熟悉。祝你好运:)