制作简单的文字游戏可以帮助我提高效率吗?(Python)

时间:2016-08-02 17:05:22

标签: 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)
  listword=list(word)
  listword[random1]="_"
  listword[random2]="_"
  newword="".join(listword)
  print (newword)
word()

1 个答案:

答案 0 :(得分:0)

你可以这样做:

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)以反映所需的最小和最大替换值数。

如果您多次调用此函数,我还建议只读一次单词列表,并将其作为参数传递给函数(或者甚至将其用作全局变量)。