繁体   English   中英

在给定字符串中的每个单词中添加和删除随机字母

[英]To add and remove random letters to/from each word in a given string

以下代码生成随机拼写错误:

# https://stackoverflow.com/a/51080546
import string
import random

phrase = "Lorem ipsum dolor sit amet, lorem ipsum."
# probability for a word to change
p = 0.8

new_phrase = []
words = phrase.split(' ')
for word in words:
    outcome = random.random()
    if outcome <= p:
        ix = random.choice(range(len(word)))
        new_word = ''.join([word[w] if w != ix else random.choice(string.ascii_letters) for w in range(len(word))])
        new_phrase.append(new_word)
    else:
        new_phrase.append(word)

new_phrase = ' '.join([w for w in new_phrase])

print(new_phrase)

怎么可能让它也为每个单词添加和删除随机字母?

要添加随机字母, random.choice(string.ascii_letters)更改为word[w] + random.choice(string.ascii_letters)

要删除随机字母, random.choice(string.ascii_letters)更改为''

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM