007讲课后作业
请问一下动动手的第二题:请自学 random 文档(传送门),编写一个双色球的开奖模拟程序。“双色球”每注投注号码由 6 个红色球号码和 1 个蓝色球号码组成。红色球号码从 1~33 中选择(由于每次抽取后不放回,所以不会出现重复数字);蓝色球号码从 1~16 中选择。
我敲的:
import random
num1=random.sample(range(1, 34), k=6)
num2=random.sample(range(1, 17), k=1)
print("开奖结果是:",num1)
print("特别号码是:",num2)
为什么就运行不了啊?
答案:
import random
red = random.sample(range(1, 34), 6)
blue = random.randint(1, 16)
print("开奖结果是:", *red)
print("特别号码是:", blue)
和答案不是就是变量命名不太一样的感觉么? red = random.sample(range(1, 34), 6)
blue = random.randint(1, 16)
num1=random.sample(range(1, 34), k=6)
num2=random.sample(range(1, 17), k=1)
emmm,你用的是两个sample函数,而答案是一个sample一个randint
sample 返回的是一个序列,答案中对序列进行解包操作,即 *red,而你是直接num1
randint返回的是一个整型
大马强 发表于 2022-1-25 18:44
emmm,你用的是两个sample函数,而答案是一个sample一个randint
sample 返回的是一个序列,答案中对序 ...
你好,所以用rand.sample的话print的话必须要在变量前加*么,就是说解包?这个操作没有听过呢...
像我写的random.sample(range(1, 17), k=1)这种只返回一个随机数的也要加*号么?它只有一个不是一串啊,和random.randint(1, 16)不一样么? random.sample(range(1, 17), k=1) 应该返回的是一个序列,也就是元组或列表
random.randint(1, 16)返回的是个整型
解包 * 小甲鱼后面应该又讲,你就先记着*能将列表的 []和元组的()去掉就好
可以看看下面这篇文章 有助于你的理解:
https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=183864&pid=5078775
Twilight6 发表于 2022-2-6 10:56
可以看看下面这篇文章 有助于你的理解:
https://fishc.com.cn/forum.php?mod=redirect&goto=findpost ...
不好意思回复晚了,谢谢! 大马强 发表于 2022-1-25 22:32
random.sample(range(1, 17), k=1) 应该返回的是一个序列,也就是元组或列表
random.randint(1, 16)返回的 ...
不好意思回复晚了,谢谢! 我看看
页:
[1]