鱼C论坛

 找回密码
 立即注册
查看: 717|回复: 2

[新人报道] 新人求教

[复制链接]
发表于 2024-2-22 22:26:57 | 显示全部楼层 |阅读模式

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

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

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="")
为什么if后面还要加个not 只是为了颠倒么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-22 22:27:19 | 显示全部楼层
这个程序中的 `not` 是用来判断是否打印每次抛硬币的结果的。当 `ignore` 变量为 `False`(即不要忽略)时,`not ignore` 的值为 `True`,这样就会执行打印的代码。如果把 `not` 去掉,那么就相当于判断 `ignore` 的值是否为 `True`,只有在 `ignore` 为 `True` 的情况下才会执行打印的代码。

所以,当输入的 `counts` 大于100时,`ignore` 被设置为 `True`,于是 `if not ignore` 就会是 `if not True`,即 `if False`,那么就不会执行打印的代码。反之,当输入的 `counts` 不大于100时,`ignore` 被设置为 `False`,于是 `if not ignore` 就会是 `if not False`,即 `if True`,这时才会执行打印的代码。

这样做的目的可能是为了避免在抛硬币次数过多时,打印太多的结果,导致输出的信息过于冗长。这样可以根据用户输入的抛硬币次数自动决定是否显示每次的结果。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-22 22:31:27 | 显示全部楼层
如果是 if ignore 会在 ignore = True 时才会打印
加上 not 就是颠倒了,会在 ignore = False 时才会打印
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 05:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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