|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)?
求答疑!
本帖最后由 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等。
求最佳答案
|
|