无重复的随机字母表选择器(python) 随机导入 字母表=['a',b',c',d',e',f',g',h',i',j',k',l',m',n',o',p',q',r',s',t',u',v',w',x',y',z'] 迭代次数=1 运行=真 def random_picker(): 随机选择=随机选择(字母表) 迭代次数=+1 打印(随机选择) 运行时==True: 如果迭代

无重复的随机字母表选择器(python) 随机导入 字母表=['a',b',c',d',e',f',g',h',i',j',k',l',m',n',o',p',q',r',s',t',u',v',w',x',y',z'] 迭代次数=1 运行=真 def random_picker(): 随机选择=随机选择(字母表) 迭代次数=+1 打印(随机选择) 运行时==True: 如果迭代,python,random,Python,Random,您的程序将继续循环,直到返回26个字母。由于您希望在每次迭代中使用不同的字母,因此使用字母表数组并在其上循环可能更容易,而不是在每次迭代中尝试选择随机字母: random.shuffle(字母表) Paul M.EDIT-以下是一个示例,说明如何使用它来实现预期效果: import random alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r

您的程序将继续循环,直到返回26个字母。由于您希望在每次迭代中使用不同的字母,因此使用
字母表
数组并在其上循环可能更容易,而不是在每次迭代中尝试选择随机字母:

random.shuffle(字母表)
Paul M.EDIT-以下是一个示例,说明如何使用它来实现预期效果:

import random

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

iterations = 1

running = True

def random_picker():

random_choice = random.choice(alphabet)

iterations =+ 1

print(random_choice)
while running == True:

    if iterations <=26:
        random_picker()
    else:
        running == False
输出:

from string import ascii_lowercase
from random import shuffle

alphabet = list(ascii_lowercase)
shuffle(alphabet)

for char in alphabet:
    print(char)

那我怎么才能阻止重复的数字形成呢?我唯一想到的是pop()函数一次从列表中删除一个字母。@Mureinik
random.shuffle
修改顺序,并返回
None
@Oxyzy使用的是
random.shuffle
,这正是防止重复发生的第一步。想想看:如果我有一副牌,然后洗牌,这些牌的顺序将是随机的——但是如果我一直从牌堆的顶部抽牌,我将永远不会得到同一张牌两次。@PaulM。阿格,接得好。不知道我在想什么…@PaulM。那么我如何使它只迭代26次呢?还是应用于变量?@oxyzy我编辑了Mureinik的帖子,因为用基本相同的解决方案发布另一个答案是没有意义的。看一看。
j
m
z
w
k
y
d
f
l
c
u
b
t
s
e
p
x
g
a
r
n
h
i
q
o
v
>>>