双色球选号--python
编程要求根据提示,在右侧编辑器补充代码,编写一个能实现双色球选号的小程序。双色球选号由7个数字组成y,其中有6个红球,其号码的取值范围为[1,33],一个蓝球的取值范围为[1,16],要求6个红球从小到大排列,蓝球在最后输出。其输出格式为09 12 16 20 30 33 | 03。(注意,如双色球号码为3,则必须输出03)测试说明平台会对你编写的代码进行测试:测试输入:7;输入说明:选7注预期输
·
编程要求
根据提示,在右侧编辑器补充代码,编写一个能实现双色球选号的小程序。
双色球选号由7个数字组成y,其中有6个红球,其号码的取值范围为[1,33],一个蓝球的取值范围为[1,16],要求6个红球从小到大排列,蓝球在最后输出。其输出格式为09 12 16 20 30 33 | 03。(注意,如双色球号码为3,则必须输出03)
测试说明
平台会对你编写的代码进行测试:
测试输入:7;
输入说明:选7注
预期输出:
09 12 16 20 30 33 | 03
01 07 08 09 18 31 | 16
05 08 21 26 28 31 | 05
01 03 06 22 25 33 | 02
02 09 16 20 27 28 | 13
15 19 24 26 28 32 | 05
02 05 07 16 24 32 | 09
输出说明:生成7注双色球号。|后面的数字为蓝球的号码
提示:等概率的生成一组无重复的数,可以采用sample函数,其案例如下
如要在1-10中等概率抽取6位数,代码如下
```python
from random import sample
t = [x for x in range(1, 11)]
print(sample(t,6))
代码部分
from random import randrange, randint, sample
import random
def display(balls):
for i in balls:
if i<10:
print("0{:d} ".format(i),end='')
else:
print("{:d} ".format(i), end='')
if balls[5] == i:
print("| ",end='')
print()
def random_select():
list1 = [x for x in range(1, 34)]
list2 = [x for x in range(1, 17)]
list3 = sorted(sample(list1, 6), reverse=False) + sample(list2, 1)
return list3
#n为注数
def main(n):
for _ in range(n):
display(random_select())
random.seed(3)
n = int(input())
if __name__ == '__main__':
main(n)
测试结果:
这题主要要注意的是随机列表的生成和格化式输出的方法。
更多推荐
已为社区贡献4条内容
所有评论(0)