问题:在1~100中查找39
一. 确定性搜索
搜索的范围已经确定,利用循环遍历,一个一个搜索便可以找到39。
for i in range(1,101): #确定范围
print(i)
if i==39: #判断是否找到39
print('Yes,find %d.'% i)
break #找到后跳出循环
运行结果 :
二. 随机化搜索
在1~100的范围里随机产生整数,直到找到39。
在Python标准库中有random函数,此函数可以随机产生多种数据。
1.random.random()函数用来生成一个随机的浮点数,范围在0.0~1.0之间。
2.random.unifrom()弥补了random.random的不足可以设定浮点数的范围,设定上限和下限。
3.random.randint()随机生成一个整数int类型。random.randint(a,b),用于生成一个指定范围内的整数。a为下限,b为上限,生成的x为a<=x<=b。在此问题中会用到random.randint()函数。
4.random.choice()可以从任何序列中选取一个随机的元素返回。
5.random.shuffle()可以将一个序列中的元素随机打乱。
6.random.sample()用于截取指定长度的随机数,但不改变列表本身的顺序。
随机性过程搜索:
import random #import+模块名 导入random
while True: #无限循环
i=random.randint(1,100) #产生随机数
print(i)
if i==39: #判断是否为39
print('Yes,find %d'%i)
break #终止循环
运行结果: