鱼C论坛

 找回密码
 立即注册
查看: 699|回复: 6

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

[复制链接]
发表于 2023-12-16 15:20:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

我没有看懂动动手第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)?
求答疑!
最佳答案
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等。

求最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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)?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

在哪里,我怎么没看到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-16 16:08:20 | 显示全部楼层
sfqxx 发表于 2023-12-16 16:03
在哪里,我怎么没看到

课后作业给的答案里面呀。https://fishc.com.cn/thread-159296-1-2.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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等。

求最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-29 19:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表