python3 random.randomrange_Python 3实现随机漫步(Random Walk)

原标题:Python 3实现随机漫步(Random Walk)

Python 3实现丰富多彩的随机漫步(Random Walk)。基本思路很简单:选择0:360度范围内的随机航向。朝那个方向走。选择另一个随机标题并再次执行。这样做2,000次。作为奖励,我们从头到尾遍历彩虹的所有颜色(或类似的颜色)。

处理颜色会使该程序(或其他任何程序)复杂化。计算机图形学中的两种主要颜色模型是RGB和HSV。Turtle和许多其他图形库接受RGB,但不接受HSV。但是,HSV最适合在彩虹色之间循环(我说“彩虹”,但HSV中有些色不是真正的彩虹。请注意,例如图片中的褐色。没关系)。只需将色相从0开始,并在每一步将其递增,直到1(在某些系统中为100),然后使用colorsys库将其转换为RGB。

代码如下:

# Random Walk, in glorious Technicolour

# https://docs.python.org/3/library/turtle.html

# Authour: Alan Richmond, Python3.codes

fromturtle import*

fromrandom importrandint

fromcolorsys importhsv_to_rgb

step= 30# length of each step

nsteps= 2000# number of steps

hinc= 1.0/nsteps # hue increment

width( 2) # width of line

(w,h)=screensize # boundaries of walk

speed( 'fastest')

colormode( 1.0) # colours 0:1 instead of 0:255

bgcolor( 'black') # black background

hue= 0.0

fori inrange(nsteps):

setheading(randint( 0, 359))

# https://docs.python.org/2/library/colorsys.html

color(hsv_to_rgb(hue, 1.0, 1.0)) # pen colour in RGB

hue+=hinc # change colour

forward(step) # step along!

(x,y)=pos # where are we?

ifabs(x) > w orabs(y) > h: # if at boundary

backward(step) # step back

done

效果图如下:

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值