因此,我正在创建一个简单的脚本,其中涉及创建随机的字母字符串。我当前正在使用此代码,它可以工作,但不是我需要它工作的方式。它不会输出我需要的任何重复字母
for i in range(x):
letter=random.choice(string.ascii_letters)
string+=letter
print(string)
问题是我没有真正需要它们的重复项才能使此代码正常工作。 我已经看到了如何解决数字问题,但没有解决字母问题。 任何解决方案都将不胜感激。
答案 0 :(得分:0)
这确实对我有用
x=20
''.join(random.choice(string.ascii_letters.lower()) for y in range(x))
输出:
'xbzxxixfwowvitbimxwj'
答案 1 :(得分:0)
您的代码应该可以正常工作。如果我运行它,我会得到重复。将会改善的地方是使用相关函数来生成多个随机选择random.choices
。
要获取20个字母的字符串:
required_length = 20
s = ''.join(random.choices(string.ascii_letters,k=required_length))
答案 2 :(得分:0)
您可以精确控制重复次数:
import string, random
nbletters=10
nbduplicates=3
assert nbletters >= 2*nbduplicates
base=list(string.ascii_letters)
random.shuffle(base)
result=base[:nbduplicates]*2+base[2*nbduplicates:nbletters]
random.shuffle(result)
print("".join(result))
示例:
VsAkVglkRs
vuWkrsJrvW
TTjbcYcjEG
ImFKFIqTgm
BCVpmFvFVC
LCOzJCJmmH
答案 3 :(得分:-1)
@Dominic。这是对您的代码的修改,使之有意义:
User