
[英]Python: add a number of random letters (A-Z; a-z) after each letter in a given word?
[英]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.