|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
现将不懂的问题罗列如下:
①,为什么会想出要假设一个变量“ignore”来判断是否打印每次的结果?因为我怎么想都想不出来?
②,if counts > 100:#为什么要写出这样形式的代码?为什么会确定数字是100?
ignore = True#为什么要用True 和 False 的形式,并且还要将 True 和 False 的值赋值给变量ignore?
else:
ignore = False
③、关于引入的变量last ,在代码的运行中,到底是怎么运行的,为什么可以假设last == 1 或者 last == 2 呢?
④、关于判断连续出现最多次数的逻辑我也不是很懂?
if num % 2:
heads += 1
c_heads += 1
if not ignore: ## 为什么突然就是 if not ignore ,我不明白的是这个判断语句是判断的什么呀?
print("正面", end=" ")
# 如果上一次是反面:将连续正面的次数设置为1##为什么要这样写?
if last == 2:
c_heads = 1
# 判断连续正面的次数是否比max_heads大,如果是,取而代之
if c_heads > max_heads:
max_heads = c_heads
# 将上一次的状态设置为正面##为什么要这样写?
last = 1
else:
tails += 1
c_tails += 1
if not ignore: ## 为什么突然就是 if not ignore ,我不明白的是这个判断语句是判断的什么呀?
print("反面", end=" ")
# 如果上一次是正面:连续反面的次数设置为1##为什么要这样写?
if last == 1:
c_tails = 1
# 判断连续反面的次数是否比max_tails大,如果是,取而代之
if c_tails > max_tails:
max_tails = c_tails
# 将上一次的状态设置为反面##为什么要这样写?
last = 2
⑤、这次的问题有点多,因为确实看不懂这个代码的逻辑,麻烦各位大神耐心解答下,谢谢啦!!!
完整的代码罗列如下:
import random
counts = int(input("请输入抛硬币的次数:"))
# 利用 ignore 变量来判断是否打印每次的结果
if counts > 100:
ignore = True
else:
ignore = False
heads = 0 # 统计正面的次数
tails = 0 # 统计反面的次数
last = 0 # 记录上一次的状态,如果是正面设置为1, 反面则设置为2
c_heads = 0 # 统计连续正面的次数
c_tails = 0 # 统计连续反面的次数
max_heads = 0 # 统计连续正面的最多次数
max_tails = 0 # 统计连续反面的最多次数
i = 0
print("开始抛硬币实验……")
while i < counts:
num = random.randint(1, 10)
if num % 2:
heads += 1
c_heads += 1
if not ignore:
print("正面", end=" ")
# 如果上一次是反面:将连续正面的次数设置为1
if last == 2:
c_heads = 1
# 判断连续正面的次数是否比max_heads大,如果是,取而代之
if c_heads > max_heads:
max_heads = c_heads
# 将上一次的状态设置为正面
last = 1
else:
tails += 1
c_tails += 1
if not ignore:
print("反面", end=" ")
# 如果上一次是正面:连续反面的次数设置为1
if last == 1:
c_tails = 1
# 判断连续反面的次数是否比max_tails大,如果是,取而代之
if c_tails > max_tails:
max_tails = c_tails
# 将上一次的状态设置为反面
last = 2
i += 1
print("")
print("一共模拟了", counts, "次抛硬币,结果如下:")
print("正面:", heads, "次", sep="")
print("反面:", tails, "次", sep="")
print("最多连续正面:", max_heads, "次", sep="")
print("最多连续反面:", max_tails, "次", sep="")
输入100,会把每次的结果打印给你看,正面,反面。。
输入101,不会把每次的结果打印给你看,只会告诉你最终的结果
|
|