将单词随机并以给定的频率放置在文件中

时间:2019-05-30 21:00:52

标签: python

我需要执行以下操作:

生成一个文件,该文件包含最大长度的随机英文字母(a到z和A到Z),并将秘密单词在文件频率中的任意位置放置几次 这个字的首次出现与今天的日期(yyyy-mm-dd)并列。理想情况下,您的两个事件不应相互覆盖。因此,请记住单词的长度和生成的随机位置。 每200个字母,在文件中添加一个换行符。 将文件命名为“ random_letters_new.txt” 频率可以为0。不会写入任何单词。生成仅包含随机字符的文件。

我可以管理大部分内容,但我不知道如何正确获取代码中表示的频率或如何将第一个单词与日期连接起来。任何指导将不胜感激,谢谢!

我可以通过添加一行以给定的频率嵌入单词:

if file_contents.count(secretword) < freq
     file_contents = file_contents + secret word

但是显然这不会使其随机化

def gen_code_file(secretword: str, freq: int == 0, maxlength: int):
    # generate a code word file with secretwork embedded randomly into a file of random characters at a random location
    import string
    import random
    # from datetime import date
    max_letters = maxlength                
    file_contents = ''
    ran_num = random.randint(0, max_letters - 1)

    for x in range(0, max_letters):
        if x == ran_num:
            file_contents = file_contents + secretword
        elif (x % 200) == 0:
            file_contents = file_contents + '\n'
        else:
            file_contents = file_contents + random.choice(string.ascii_letters)

        #    print(file_contents)
    file = open("random_letters_new.txt", "w")
    file.write(file_contents)
    file.close()


gen_code_file('moby', 20, 400)

0 个答案:

没有答案