随机漫步:每次行走都完全是随机的,没有明确的方向,结果是由一系列随机决策决定的。可以认为是:蚂蚁在晕头转向的情况下,每次都沿随机的方向前行所经过的路径。
1.1 创建RandomWalk()类
1.2 选择方向
1.3 绘制随机漫步图
输出:
1.4 模拟多次随机漫步
1.5 给点着色
输出:
1.6 重新绘制起点和终点
输出:
1.7 隐藏坐标轴
输出:
1.8 增加点数
输出:
1.9 调整尺寸以适应屏幕
输出:
import randomimport numpy as np
List = np.array([(0,0),(1,1),(1.6,1.8),(3,3)])
d = 0.5
def get_random(low,high):
return((high-low)*random.random()+low)
n = 0
while n<100000:
x = get_random(0,3)
y = get_random(0,3)
rand_tuple = np.array([x,y])
tmp_dist = np.sqrt(np.sum(np.square(List-rand_tuple),axis = 1))
tmp_dist_bool = tmp_dist >= d
if np.sum(tmp_dist_bool) == len(List):
print(x,y)
break
n += 1
if n==100000:
print("After",n,"tries,can't get a random point!Check whether the problem has a solution!")
思路:1、定义一个字典,把名字和数字对应起来;2、引用随机模块;3、输入要点名的个数,通过循环输出名字。
具体代码如下:
# -*- coding:utf-8 -*-from random import randint
DictName = {1: 'Aaron',
2: 'Abel',
3: 'Abraham',
4: 'Adam',
5: 'Adrian',
6: 'Alva',
7: 'Alex',
8: 'Alexander',
9: 'Alan',
10: 'Albert',
11: 'Alfred',
12: 'Andrew',
13: 'Andy',
14: 'Angus',
15: 'Anthony',
16: 'Arthur',
17: 'Austin',
18: 'Ben',
19: 'Benson',
20: 'Bill',
21: 'Bob',
22: 'Brandon',
23: 'Brant',
24: 'Brent',
25: 'Brian',
26: 'Bruce',
27: 'Carl',
28: 'Cary',
29: 'Caspar',
30: 'Charles',
31: 'Cheney',
32: 'Chris',
33: 'Christian',
34: 'Christopher',
35: 'Colin',
36: 'Cosmo',
37: 'Daniel',
38: 'Dennis',
39: 'Derek',
40: 'Donald',
41: 'Douglas',
42: 'David',
43: 'Denny',
44: 'Edgar',
45: 'Edward',
46: 'Edwin',
47: 'Elliott',
48: 'Elvis',
49: 'Eric',
50: 'Evan',
51: 'Francis',
52: 'Frank',
53: 'Franklin',
54: 'Fred',
55: 'Gabriel',
56: 'Gaby',
57: 'Garfield',
58: 'Gary'}
Num = raw_input('请输入需要点名个数:')
flag = True
while flag:
if Num.isdigit():
Ind = int(Num)
flag = False
else:
print '输入错误,请确认'
else:
for i in range(Ind):
print DictName[randint(1,58)]
运行结果:
请输入需要点名个数:4
Brant
Cheney
David
Alan