Python 生成n注36选7的彩票

随机生成一注36选7的彩票号码,即从1~36中随机选7个不同的数。

1. 

import random

nums = [0]*7    # 含有7个0元素的列表
nums[0] = random.randint(1, 36)  # 产生1~36的随机值,赋给列表元素

for i in range(1, 7):    # i从1取到6
    nums[i] = random.randint(1, 36)     # 产生随机数给i
    j = 0       # j等于0
    while j < i:   # 当j小于i,即从0遍历到i-1
        if nums[j] == nums[i]:    # 若i等于j
            nums[i] = random.randint(1, 36)   # 产生新的随机数
            j = 0   # 使j为0
        else:
            j += 1  # 若i不等于j,j往下遍历

# nums.sort(reverse=False) 升序排列
# nums.sort(reverse=True)  降序排列

print(nums)     # 打印出nums

2.

import random

nums = [random.randint(1, 36)]
for i in range(1, 7):   # 不可以写成 for i in range(6):
    n = random.randint(1, 36)    # 产生1~36的随机数
    j = 0
    while j < i:
        if n == nums[j]:    # 如果产生的随机数等于之前的随机数
            n = random.randint(1, 36)
            j = 0
        else:
            j += 1
    nums.append(n)
# nums.sort(reverse=False) 升序排列
# nums.sort(reverse=True)  降序排列
print(nums)

3.生成5注36选7的彩票

import random

tickets = []
for i in range(5):  # 产生5注彩票,循环5次
    tic = []        # 一维,只可追加元素
    tic.append(random.randint(1, 36))   # 追加1~36
    for j in range(1, 7):
        tic.append(random.randint(1, 36))
        k = 0
    while k < j:   # 比较j之前的元素
        if tic[j] == tic[k]:
            tic[j] = random.randint(1, 36)   # 一旦和之前相等则重新产生
            k = 0
        else:
            k += 1
    tic.sort()  # 排序
    tickets.append(tic)     # 变成二维,5行7列

# 输出二维列表
    sum = 0
for m in range(len(tickets)):      # 5行
    for n in range(len(tickets[i])):    # 列
        print(tickets[m][n], end="\t")
    print()

4.

import random

tickets = []
for i in range(5):  # 产生5注彩票,循环5次
    tic = [0]*7        # 一维,只可追加元素
    tic[0] = random.randint(1, 36)
    for j in range(1, 7):
        tic[j] = random.randint(1, 36)
        k = 0
    while k < j:   # 比较j之前的元素
        if tic[j] == tic[k]:
            tic[j] = random.randint(1, 36)   # 一旦和之前相等则重新产生
            k = 0
        else:
            k += 1
    tic.sort()  # 排序
    tickets.append(tic)     # 变成二维,5行7列

# 输出二维列表
    sum = 0
for m in range(len(tickets)):      # 5行
    for n in range(len(tickets[i])):    # 列
        print(tickets[m][n], end="\t")
    print()


 

 

 

 

 

 

你可能感兴趣的:(python)