在(0,1)区间随机取两个数,求他们的差值小于0.5的概率?
import random
i = 0
n = num = eval(input("输入循环的次数:"))
while n > 0:
m = [random.uniform(0, 1), random.uniform(0, 1)]
print(m)
if -0.5 < m[0]-m[1] < 0.5:
i = i+1
n = n-1
p = i/num
print(p)
在Python3.x版本中 input() 函数接受一个标准输入数据,返回为 string 类型。
而 eval() 函数用来执行一个字符串表达式,并返回表达式的值。组合用于获取控制台的输入。1
注意:random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
import random
random() 函数中常见的函数:
print( random.randint(1,12) ) # 产生 1 到 12 的一个整数型随机数
print( random.random() ) # 产生 0 到 1 之间的随机浮点数
print( random.uniform(0,1) ) # 产生 0 到 1 之间的随机浮点数,区间可以不是整数
print( random.choice('Monday','Tuesday') ) # 从序列中随机选取一个元素
print( random.randrange(1,100,2) ) # 生成从1到100的间隔为2的随机整数
input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。
下附菜鸟教程函数详解
python eval() 函数
python input() 函数
python random()函数 ↩︎