Python代码求助 抛硬币实验
本帖最后由 成成是我 于 2022-11-24 08:18 编辑import random
counts = int(input("请输入抛硬币的次数:"))
i = 0
print("开始抛硬币实验:")
while i < counts:
num = random.randint(1, 10)
if num % 2:
print("正面", end=" ")
else:
print("反面", end=" ")
i =i + 1
为什么num随机返回值是1-10,num % 2是啥意思?? num 除以 2 的余数。
在大部分编程语言中,0表示假,其他值都表示真。而 num 除以 2 的余数只能是 0 或 1,所以 if num % 2: 就是 if num % 2 == 1: 楼主,听懂了不要忘记给帮助你的人 "最佳答案" tommyyu 发表于 2022-11-24 08:21
num 除以 2 的余数。
在大部分编程语言中,0表示假,其他值都表示真。而 num 除以 2 的余数只能是 0 或...
好的大神,那num = random.randint(1, 10)是啥意思呢?为什么是1-10,不是1-11 成成是我 发表于 2022-11-24 10:00
好的大神,那num = random.randint(1, 10)是啥意思呢?为什么是1-10,不是1-11
这个地方其实可以写random.randint(1, 2),这里其实只要保证在a~b中奇数和偶数的个数相等就可以了 tommyyu 发表于 2022-11-24 10:03
这个地方其实可以写random.randint(1, 2),这里其实只要保证在a~b中奇数和偶数的个数相等就可以了
好的,知道啦谢谢{:5_108:} 有收获 如果抛硬币的次数小于 100,则打印每次的结果,否则不打印
统计最终正面和反面的次数
import random
counts = int(input("请输入抛硬币的次数:"))
if counts > 100:
ignore = True # 利用 ignore 变量来判断是否打印每次的结果
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="")
本帖最后由 網絡奇人怪小四 于 2022-11-29 20:21 编辑
我剛剛也做了這個課後功課
我的做法變量只有coin_answer=["正面","反面"]2種結果
while i<我設定的int(counts)時
執行random.choice(coin_answer)
代碼如下:
import random # 导入随机模块
coin_answer = ["正面","反面"] #設定拋硬幣只有正反2種結果
counts = input("請輸入拋硬幣次數:")# 接收用户输入并将数值赋值给 counts 变量
i = 0
print("开始抛硬币实验:")
while i < int(counts):
random.choice(coin_answer)# 生成一个随机数num #
print(random.choice(coin_answer),end=' ') #生成隨機正反面且結果不換行
i = i + 1
這樣我發覺可以像題目一樣出到結果, 哈~ 網絡奇人怪小四 发表于 2022-11-29 20:19
我剛剛也做了這個課後功課
我的做法變量只有coin_answer=["正面","反面"]2種結果
while i
好聪明
chang1jing 发表于 2022-12-14 13:45
好聪明
謝謝誇獎
页:
[1]