linying002 发表于 2023-12-16 15:20:14

求答疑:[课后作业] 第016讲:了不起的分支和循环(III)


我没有看懂动动手第2题coin-toss的答案。
第1个问题是关于ignore,
if counts > 100:
    ignore = True
else:
    ignore = False
是如何和后面的代码对起来的?ignore= true 表示结果为真,ignore=false 表示结果为假。 第一个if not ignore是假的话,第二个if not ignore就是真,那为什么还要if not ignore呢,ignore本来就是非真即假呀 。
if not ignore:      
            print("正面", end=" ")
if not ignore:
            print("反面", end=" ")
第2个问题是关于while的条件。while的条件为什么不是i<counts<100? 而只写i<counts就够了?
第3个问题是关于num = random.randint(1, 10)
题目说100以内的随机数,那为什么不是randint(1,100)?
求答疑!

FishC 发表于 2023-12-16 15:20:24

对于第一个问题,if语句中的判断条件是counts > 100。如果counts大于100,则将ignore设为True,否则设为False。之后的if not ignore 判断的是ignore的取反,即如果ignore为False(即counts小于等于100),则执行下面的代码。如果ignore为True(即counts大于100),则跳过这段代码。

对于第二个问题,你可能指的是题目中的练习2,在练习2中使用了一个while循环。while循环的条件是not ignore,因为我们希望在ignore为False的情况下执行循环内的代码。当ignore为True时,循环条件为False,退出循环。其中的i是用来记录抛硬币的次数,并不是循环条件。希望这样解答能够帮到你!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

linying002 发表于 2023-12-16 16:00:49

FishC 发表于 2023-12-16 15:20
对于第一个问题,if语句中的判断条件是counts > 100。如果counts大于100,则将ignore设为True,否则设为Fal ...

第3个问题是关于num = random.randint(1, 10)
题目说100以内的随机数,那为什么不是randint(1,100)?

FishC 发表于 2023-12-16 16:00:58

linying002 发表于 2023-12-16 16:00
第3个问题是关于num = random.randint(1, 10)
题目说 ...

在第3个问题中,代码使用的是 `random.randint(1, 10)` ,表示生成一个1到10之间的随机整数。这只是个示例代码,目的是展示使用随机数的概念和基本用法,并不一定非要生成100以内的随机数。如果你希望生成100以内的随机数,可以将代码修改为 `random.randint(1, 100)`。这样就能够生成一个1到100之间的随机整数了。谢谢你的提问,希望能够帮到你!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

sfqxx 发表于 2023-12-16 16:03:26

linying002 发表于 2023-12-16 16:00
第3个问题是关于num = random.randint(1, 10)
题目说100以内的随机数,那为什么不是randint(1,100)?

在哪里,我怎么没看到

linying002 发表于 2023-12-16 16:08:20

sfqxx 发表于 2023-12-16 16:03
在哪里,我怎么没看到

课后作业给的答案里面呀。https://fishc.com.cn/thread-159296-1-2.html

sfqxx 发表于 2023-12-16 16:25:55

本帖最后由 sfqxx 于 2023-12-16 18:18 编辑

第1个问题:关于 ignore
代码中的 ignore 变量用于控制是否打印每次抛硬币的结果。if counts > 100: 判断如果抛硬币次数超过100次,则不打印每次的结果(即 ignore = True),这可能是为了避免在屏幕上打印过多的内容。当 ignore 为 True 时,if not ignore: 的条件不满足,因此不会执行这个 if 语句块内的打印操作。

在代码中,if not ignore: 出现了两次,一次用于判断抛出的是正面时,另一次用于判断抛出的是反面时。这两个判断是独立的,因为它们分别对应于两种不同的抛硬币结果(正面或反面),所以需要分别检查是否打印对应的结果。

第2个问题:关于 while 循环的条件
while i < counts: 是循环的条件,它确保循环执行的次数等于用户输入的抛硬币次数(counts)。这里没有必要加入 counts < 100 作为循环的条件,因为 ignore 变量已经处理了超过100次的情况。while i < counts: 仅确保循环会根据用户指定的次数执行相应次数的迭代。

第3个问题:关于 random.randint(1, 10)
这里使用 random.randint(1, 10) 来生成一个1到10之间的随机整数,是为了模拟抛硬币的过程。在这个模拟中,偶数代表硬币的一面(例如反面),奇数代表另一面(例如正面)。使用1到10的范围是为了简化代码,因为只需关注数字是奇数还是偶数。实际上,使用任何两个数量相等的一组数都可以达到类似的效果,例如1到100、1到2等。

求最佳答案

leizhenzi23 发表于 2024-11-11 12:06:51

这里边的i代表的是什么啊

leizhenzi23 发表于 2024-11-11 12:09:24

还有 num具体代表啥啊
页: [1]
查看完整版本: 求答疑:[课后作业] 第016讲:了不起的分支和循环(III)