python菜鸟一直,谁帮我看看这个产生五个不重复随机数的写法哪儿有问题,产生的结果会重复。.....
答案:3 悬赏:80 手机版
解决时间 2021-02-02 17:09
- 提问者网友:两耳就是菩提
- 2021-02-02 04:35
python菜鸟一直,谁帮我看看这个产生五个不重复随机数的写法哪儿有问题,产生的结果会重复。.....
最佳答案
- 五星知识达人网友:胯下狙击手
- 2021-02-02 05:24
你的代码
#!D:Python34New Folderpython
# -*- coding: UTF-8 -*-
import random
a=[0,0,0,0,0,0]
z=[0,1,2,3,4,5]
y=0
g=i=0
for i in z:
g=random.randint(1,11)
k=0
for k in z:
if a[k] == g:
g=random.randint(1,11)
k=-1;
else:
y=g;
k=k+1;
a[i]=y;
i+=1;
print (a); 感觉12行开始的判断有问题,如果a[k]==g,k=-1,这时就退出循环,也就保留重复的数字了。
Python语言不需要这么复杂。
# -*- coding: UTF-8 -*-
import random
a=[0,0,0,0,0]
for i in range(5):
g=random.randint(1,11)
while g in a:
g=random.randint(1,11)
a[i] = g
print (a) 或者再简单一点
import random
print(random.sample(range(1, 11), 5))
#!D:Python34New Folderpython
# -*- coding: UTF-8 -*-
import random
a=[0,0,0,0,0,0]
z=[0,1,2,3,4,5]
y=0
g=i=0
for i in z:
g=random.randint(1,11)
k=0
for k in z:
if a[k] == g:
g=random.randint(1,11)
k=-1;
else:
y=g;
k=k+1;
a[i]=y;
i+=1;
print (a); 感觉12行开始的判断有问题,如果a[k]==g,k=-1,这时就退出循环,也就保留重复的数字了。
Python语言不需要这么复杂。
# -*- coding: UTF-8 -*-
import random
a=[0,0,0,0,0]
for i in range(5):
g=random.randint(1,11)
while g in a:
g=random.randint(1,11)
a[i] = g
print (a) 或者再简单一点
import random
print(random.sample(range(1, 11), 5))
全部回答
- 1楼网友:污到你湿
- 2021-02-02 06:59
import random
a=random.sample(range(1,11),5)
print(a)
a=random.sample(range(1,11),5)
print(a)
- 2楼网友:英雄的欲望
- 2021-02-02 05:35
不要把python写成C。这才是python的正确打开方式:#!/usr/bin/env python
# coding=utf-8
"""generate 5 unique random int number between 1 and 11.
"""
import random
def gen5random():
result = set()
while len(result) < 5:
result.add(random.randint(1,11))
return result
print(list(gen5random()))
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯