生成一系列随机数

时间:2013-04-13 05:15:36

标签: python python-2.7

我需要编写一个代码,按照随机顺序排列26个非重复数字0到25没有奇怪的命令,比如shuffle它需要是begginer语言,即使结果代码更长,效率更低

def f():
    a=[0]*26
    for x in a:
        b=randrange(0,26)
        a[b]=randrange(0,26)
    return(a)
print(f())

^^^^我知道它不能正常工作

1 个答案:

答案 0 :(得分:1)

这很简单:

import random
def f():
    a=[0]*26
    count = 0
    while count < 25:
        r = random.randrange(0,26)
        if r not in a:
            a[count] = r
            count += 1
    return(a)
print(f())

输出示例:

[12, 9, 5, 25, 17, 11, 22, 2, 3, 23, 6, 8, 16, 13, 21, 7, 4, 1, 10, 24, 19, 18, 15, 20, 14, 0]