一个双色球的小程序。。求完善
import randomdef lise1():
'函数功能,生成随机数字列表,通过修改len,以及切片方式,获取随机列表的长度'
lise2 = []
while True:
i = random.randint(1,33)
if i not in lise2:
lise2.append(i)
if len(lise2) == 25:
return lise2
break
xxcs = 500
lise3 =
#不要的双色球号码列表
while xxcs:
lise4 = lise1()
for x in set(lise3):
while x in lise4[:] : lise4.remove(x)
lise5 = lise4
lise5.sort()
print(lise5)
xxcs = xxcs - 1
#还要在加一个功能,随机的500注里,不能有(可设置2,3,4)个以上号码一样。。。。我该如何改进代码呢??? import random
def lise1():
'函数功能,生成随机数字列表,通过修改len,以及切片方式,获取随机列表的长度'
lise2 = []
while True:
i = random.randint(1,10000)
if i not in lise2:
lise2.append(i)
if len(lise2) == 68:
return lise2
break
xxcs = 500
lise3 =
#过滤列表
z = set()
while xxcs:
lise4 = lise1()
for x in set(lise3):
while x in lise4[:] : lise4.remove(x)
lise5 = lise4
lise5.sort()
c = 0
for x in z:
if x in lise5:
c += 1
if c > 3:
break
else:
z . update(lise5)
lise5.sort()
print(lise5)
xxcs = xxcs - 1 import random
def gets(arr = None, balls = 6):
while True:
Red = random.sample(range(1, 34), k = balls - 1)
Blue = random.choice(range(1, 17))
if arr:
if not (set(Red) & set(arr)) and Blue not in arr:
break
else:
break
return sorted(Red) +
print(gets()) # 随机 7 颗球,默认 6 颗红球(1~33号)和 1 颗篮球(1~16号)
print(gets()) # 随机 7 颗球,但不要号码 2、5、9、13
print(gets(balls = 10)) # 随机 10 颗球
# 以上函数确保红球都不会重复 傻眼貓咪 发表于 2022-10-24 13:36
还差那么点点,篮球部分可以删除。。只选红球。。每次随机出来的注数少了点。。比如输入随机数20个球。。。在过滤掉不要的球。。剩下的球在不报错的情况下,得出相同号不超过3个得组合越多越好。。。。
又或者这样已知机选出20个号,已过滤不要的号。。剩下的号,用递归的方式吧他们3个不相同的号全部打印出来???可懂??相当于给你一个长度是10-20不等的数字列表。。然后用递归吧这个列表分成若干个长度只有6-8的列表,。。。以打印(生成)的列表与列表之间相同元素不能超过2-5之间{:5_109:} 双色球爱好者? chentyping 发表于 2022-10-25 12:42
双色球爱好者?
都爱都爱{:5_109:}
页:
[1]