qml689986 发表于 2020-9-21 14:04:33

第008讲最后一道动手题

我看小甲鱼给的代码答案是:
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 += 1
用的随机函数randint,选取的是1到10。

我写的代码是:

import random
temp = input("请输入抛硬币的次数:")
counts = int(temp)
# 接收用户输入并将数值赋值给 counts 变量 #
i = 0

print("开始抛硬币实验:")
while i < counts:
    # 生成一个随机数num #
    num = random.randint(1,2)
    if num % 2:
      print("正面",end=" ")
      # 打印结果 #
    else:
      print("反面",end=" ")
      # 打印结果 #

    i = i + 1

我调用的随机函数randint(),选取1到2

请问这有区别么?我这样randint(1,2)没问题吧。如果我选取1到100,是不是也可以

kylin121380 发表于 2020-9-21 14:09:48

可以,只要奇偶概率相等。

Peteryo01223 发表于 2020-9-21 15:35:51

腻害,好问题。

一抹心尘 发表于 2020-10-30 15:15:41

额,是这样的,小甲鱼的代码,他表达的意思是从1到10这里随机返回一个数,那这个池子里面是不是有10个数,且奇数和偶数的个数一样多,都是5个,同样的,你的是从1取到2,总数2个,一个奇数,一个偶数,取到奇数和偶数的概率都是一样的都是一半,自然没有问题,而且你的想法很好,编程本来就是要举一反三哈。
页: [1]
查看完整版本: 第008讲最后一道动手题