smartsy 发表于 2021-12-8 17:18:48

每天一个小问题

import random
a = random.randint(0,34)
b = random.randint(0,34)
c = random.randint(0,34)
d = random.randint(0,34)
e = random.randint(0,34)
f = random.randint(0,34)
print('生成的蓝色随机数为:'a,b,c,d,e,f)

x = random.randint(0,17)

print('生成的红色随机数为:'x)



此程序是想模仿彩票开奖生成随机数,但此程序有2个问题没有想到解决方案:
①该程序语法有错本人水平有限没有找到
②生成的随机数有重复的情况,如何使生成的随机数不重复(使a-f 6个数不重复)

z5560636 发表于 2021-12-8 17:30:31

import random
list_number = []
for i in range(7):
    a = random.randint(1, 34)
    while a in list_number:
      a = random.randint(1, 34)
    list_number.append(a)

print('生成的蓝色随机数为:', list_number)

x = random.randint(0, 17)

print('生成的红色随机数为:', x)


多看看基础。print函数格式写错了。

jackz007 发表于 2021-12-8 17:39:48

import random
c , d = 0 , []
while c < 6:
    x = random . randint(0 , 34)
    if x not in d:
      d . append(x)
      c += 1
print('红色随机数为 : ' , *d)
print('蓝色随机数为 : ' , random . randint(0 , 17))

傻眼貓咪 发表于 2021-12-8 18:18:26

运用 random 里的 sample 模拟出随机 6 颗蓝色球:import random
ball = range(34)
balls = list(random.sample(ball, 6))
red = random.choice(range(17))
print("生成蓝色随机数为:", *balls, "\n生成红色随机数为:", red)

smartsy 发表于 2021-12-8 20:14:17

感谢各位啦 你们的答案都很好
页: [1]
查看完整版本: 每天一个小问题