课后作业16讲有个代码看不懂
import randomcounts = 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="")
前面是ignore = true 可是后面那个if not ignore: 是表达的什么意思
not 表示取反, not True =False、 not False = True 这里就是条件取反
而 ignore 在代码中作用是,当你输入的抛硬币次数小于 100 次,就打印每次抛硬币的结果
但是若大于 100 次就不打印每次抛硬币的结果,实际上不影响代码最终运行结果,只是影响显示效果
if counts > 100:
ignore = True#大于100次为True
else:
ignore = False
if not ignore:#大于100次时 (not ignore)==(not true)==False,结果为大于100为False 不打印,
print("反面", end=" ")
至于这种作秀的花样写法很绕,没有适用性,要写的简单易读可以修改成
#######################
if counts < 100:
ignore = True#小于100次打印数据
else:
ignore = False#大于100次不大于数据
ifignore:#小于100次打印,这样加上注释一目了然,节约阅读代码的时间,谁会喜欢看绕弯弯的东西??
print("反面", end=" ")
页:
[1]