和小家伙一起学编程 003 随机

字数 792阅读 51

说到随机,最容易想到的例子之一便是抛硬币。

简单的说,随机是指我们无法预先知道结果。

在牛顿物理学的世界中,不考虑空气之类的影响,只要知道一枚硬币被抛出的那一刻的初始变量,最终落下的结果就是可以计算出来的,即便考虑到空气等等影响因素,还是可以计算。

但是有时候,即便是初始状态或影响因素微小的改变,也会让结果有非常大的差异,可以去看看三体问题或者那个著名的蝴蝶拍翅膀的混沌理论。

又或者虽然理论上可以计算,但是无法在有效的时间内计算出来……

不论如何,平常我们说随机的那些事情,往往仅仅是因为受到太多因素的影响,我们无法知晓所有这些因素的作用而无法预计,但是在理论上,它们并非随机的,而是有一系列的前因后果。

但是在量子物理学中,会有科学家告诉我们,关于量子的物理量在我们测量之前,是真正随机的!

说到这里,先推荐一本书吧:《信息简史:一部历史 一个理论 一股洪流

信息简史

在计算机时代之前,人们会编写印刷出厚厚的“随机数表”,而目前我们在计算机中常见的随机数,其实是用某些方法计算出来的“伪随机数”。

随机数在编程实践中非常常见也非常有用,而且,如果没有随机数,那些游戏一定没有那么有趣。

开始编程吧。

Scratch 随机数的例子

复制小星星放到随机位置

先在夜空中放一颗小星星,这里有一个重要Scratch代码块——“克隆”,也就是复制一个角色,复制了之后,我们就把原来的小星星移动到一个随机的位置,否则,复制出来的和原来的重叠在一起,就看不出来了,复制99次,于是夜空中有了100颗小星星。

下面,让星空更加缤纷绚烂吧!

进一步随机设置旋转、大小、颜色

Python 随机数的例子

import random
secret = random.randint(1,100)
print('我想好了一个1到100之间的数字,来猜猜吧!')
answer = 0
t = 0
while answer != secret:
    t += 1
    temp = input('你猜是:')
    answer = int(temp)
    if answer > secret:
        print('你猜的数字大了!')
    else:
        print('你猜的数字小了!')
print('你猜对了!一共猜了%d次。' % t)
print('下次再玩吧!')

这个猜数字的小游戏可是从计算机还没有图形界面的古老时代流传下来的,虽然简单,但还是有策略的,看看你最少用了多少次猜出来吧!

猜数游戏Scratch版

猜数游戏Scratch版

节点目录

和小家伙一起学编程 000 出发

和小家伙一起学编程 001 条件

和小家伙一起学编程 002 循环

和小家伙一起学编程 003 随机

和小家伙一起学编程 004 编码

和小家伙一起学编程 005 对象

和小家伙一起学编程 006 函数

和小家伙一起学编程 007 算法

推荐阅读更多精彩内容