鱼C论坛

 找回密码
 立即注册
查看: 2087|回复: 5

[已解决]抛硬币问题

[复制链接]
发表于 2020-11-15 13:03:54 | 显示全部楼层 |阅读模式

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

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

x
import random

counts = int(input("请输入抛硬币的次数:"))

# 利用 ignore 变量来判断是否打印每次的结果
if counts > 100:
    ignore = True
else:
    ignore = False

heads = 0 # 统计正面的次数
tails = 0 # 统计反面的次数

i = 0
print("开始抛硬币实验……")
while i < counts:
    num = random.randint(1, 10)

    if num % 2:
        heads += 1
        if not ignore:      
            print("正面", end=" ")
    else:
        tails += 1
        if not ignore:
            print("反面", end=" ")

    i += 1

print("")
print("一共模拟了", counts, "次抛硬币,结果如下:")
print("正面:", heads, "次", sep="")
print("反面:", tails, "次", sep="")

哪位大佬能帮我分析一下not ignore在这里的含义(具体一点的那种。。我发过一次但没有找到想要的答案 )
最佳答案
2020-11-15 13:42:57
本帖最后由 Twilight6 于 2020-11-15 13:44 编辑
ebusen 发表于 2020-11-15 13:41
就是说 if 后面如果是是“false”,就不能执行吗  可是if 后面接的不是条件吗 这。。。




对,if 判断的条件本质就是判断 布尔类型值

True 的意思是真,False 为假 即  True 是符合条件 ,False 是不符合条件

举个例子:

if 100 > 10:  因为 100 > 10 为真,所以返回 True ,即 if True: 符合条件,执行 if 的代码块
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-15 13:15:44 | 显示全部楼层
本帖最后由 Twilight6 于 2020-11-15 13:16 编辑



你理解 ignore 的含义就行,这里  ignore  是当你输入的值大于 100 时候

if not ignore 就不符合条件,就不会进行打印正反面的结果

反之当 你输入的 counts 的值小于 100 时候, not ignore 结果为 True 就会打印每次抛硬币的结果

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

使用道具 举报

发表于 2020-11-15 13:32:09 | 显示全部楼层
counts = int(input("请输入抛硬币的次数:"))

if counts > 100:
    ignore = True
else:
    ignore = False
. . . . . .
while i < counts:
. . . . . .
    if num % 2:
. . . . . .
        if not ignore:      
            print("正面", end=" ")
    else:
. . . . . .
        if not ignore:
            print("反面", end=" ")
        显然,ignore 的数值受控于 counts,只有 counts > 100 的时候才会是 True,否则是 False,再看看 ignore 在代码中起了什么作用,显然,这个变量控制是否打印每一次的抛币结果,只有 ignore 的值为 False 的时候才打印。总结一下,就是只有在抛币次数不超过 100 次的时候才会打印每一次的抛币结果,否则,当然是不打印。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-15 13:41:15 | 显示全部楼层
Twilight6 发表于 2020-11-15 13:15
你理解 ignore 的含义就行,这里  ignore  是当你输入的值大于 100 时候

if not ignore 就不符合条 ...

就是说 if 后面如果是是“false”,就不能执行吗  可是if 后面接的不是条件吗 这。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-15 13:42:57 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-11-15 13:44 编辑
ebusen 发表于 2020-11-15 13:41
就是说 if 后面如果是是“false”,就不能执行吗  可是if 后面接的不是条件吗 这。。。




对,if 判断的条件本质就是判断 布尔类型值

True 的意思是真,False 为假 即  True 是符合条件 ,False 是不符合条件

举个例子:

if 100 > 10:  因为 100 > 10 为真,所以返回 True ,即 if True: 符合条件,执行 if 的代码块
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-15 13:50:05 | 显示全部楼层
Twilight6 发表于 2020-11-15 13:42
对,if 判断的条件本质就是判断 布尔类型值

True 的意思是真,False 为假 即  True 是符合条件  ...

哦哦,懂了谢谢谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 21:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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