本帖最后由 香蕉那个不拿拿 于 2022-12-14 13:03 编辑
1: if not ignore:
他分为两部分,一是if语句,另一个是not ignore
你不明白的是not的作用,我们这里着重讲解
not是指将后方的变量的真伪值作转换
如
not True就是Flase
not Flase就是True
明白了这个问题,下一个问题就迎刃而解了
2
not ignore取决宇ignore的真伪值
比如前文中ignore在>100时为True
下文的not ignore就是Flase就不会打印
如果ignore<100就为Flase
下文的not ignore就是True就会打印
如果你想去掉not ignore的话,就这么改import random
counts = int(input("请输入抛硬币的次数:"))
# 利用 ignore 变量来判断是否打印每次的结果
if counts > 100:
ignore = Flase#敲黑板!这里把两种情况翻转了
else:
ignore = True
heads = 0 # 统计正面的次数
tails = 0 # 统计反面的次数
i = 0
print("开始抛硬币实验……")
while i < counts:
num = random.randint(1, 10)
if num % 2:
heads += 1
if ignore:
print("正面", end=" ")
else:
tails += 1
if ignore:
print("反面", end=" ")
i += 1
print("")
print("一共模拟了", counts, "次抛硬币,结果如下:")
print("正面:", heads, "次", sep="")
print("反面:", tails, "次", sep="")
至于你的为什么报错
你的改法也行
但是你忘了加上if了呀,要认真
附上,按你那种改法的代码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 ignore == Flase:
print("正面", end=" ")
else:
tails += 1
if ignore == Flase:
print("反面", end=" ")
i += 1
print("")
print("一共模拟了", counts, "次抛硬币,结果如下:")
print("正面:", heads, "次", sep="")
print("反面:", tails, "次", sep="")
两种改法自由选择
满意给个最佳答案呗 |