制作一个简单的文字游戏谁能帮我提高效率?(Python)

制作一个简单的文字游戏谁能帮我提高效率?(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

这是一个函数,它从.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)
  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;很多效率都来自于对语言的探索和熟悉。祝你好运:)