Python 轻松学会写程式笔记-第4节58-Range(范围)

最终程序

import random

range(5) # [0, 1, 2, 3, 4]
range(3) # [0, 1, 2]

for i in range(100):
	r = random.randint(1,1000)
	print('这是第', i + 1, '次产生随机数:', r)

在这里插入图片描述

range只是清单产生器

Range很简单

Range就只是范围的意思
它是一个python的内建功能
你要把它理解成清单产生器

range(5)是什么意思 范围5
因为它是一个清单产生器嘛
它产生成 0 1 2 3 4的清单 一个清单中装著0 1 2 3 4

range(5) # [0, 1, 2, 3, 4]

这个5 是结尾值
结尾值是不包含的
所以你看我们到4就停了 我们没有把5装进来

自动从零开始,结尾值不包含

我们是不是没有跟他讲开始值?
所以它自动从0开始 0到5 就会产生0 1 2 3 4
结尾值不包含

range(5) # [0, 1, 2, 3, 4]

range(3)那就是0 1 2嘛 3不包含嘛 自动从0开始嘛

好那我们来证实一下range(3)真的是0 1 2
我写一个for loop 把i印出来

for i in range(3):
	print(i)

range(3)是不是就是等于
0 1 2这个清单
它产生出0 1 2这个清单
那for loop的定义 就是把清单中的东西 一个一个拿出来
每一次我把你称呼为i
那我们现在所面对的清单 是range(3) 也就是0 1 2这个清单
一个一个东西拿出来

第一次i=0
第二次i=1
第三次i=2
对不对 所以会print出0 1 2
在这里插入图片描述

执行

在这里插入图片描述
那我们现在了解range的功能了
那range通常都是跟for loop搭配的
我们很少很少几乎不会
直接写一个range在别的地方

通常可能95%以上 如果有出现range 一定都是放在for loop的这个位置
For i in range 一个数字这样

你问我说我们写一个for loop就为了印出0 1 2三个数字 要干嘛 0 1 2可以干嘛
很好的问题
真的不能干嘛
不过我现在改变一个写法给你看 你就可以体会了
我们写print(hi) 不要print(i)了
执行
hi hi hi 是不是印了三次
在这里插入图片描述
print hi是不是执行了三次
为什么 因为for i in range(3)
如果我这裡range(3)改成range(5) 是不是就会执行五次
For i in range(1000000) 我们裡面的内容就可以执行一百万次耶

这才是真正

For i in range() 的目的

我们通常呢八九不离十
90%以上 我们写for i in range()
这种写法
就是为了要让他的内容重複执行
某个固定次数

案例:产生随机数

再举另外一个例子
我们来产生很多的随机数值

import 我们要载入random那个模组
把random载进来之后呢 我们就可以产生随机数了
所以我在迴圈的裡面 来产生随机数
Random.randint() 随机整数 1到1000好了
产生完了我帮它存下来 存成R 存完之后我把它印出来

在这里插入图片描述
我把它印出来 好我们执行看看
在这里插入图片描述
那再下来呢 你会想说

可以把i在for loop内容中印出来,就知道执行到第几行

import random

for i in range(100):
	r = random.randint(1,1000)
	print('这是第', i + 1, '次产生随机数:', r)

我怎么知道这是第几个随机数
这就是这个i派上用场的时候 For i in range的i
你记不记得这个i是什么
Range(100)是0到99嘛 它是一个清单 0到99的清单
那i是什么 i就是每一次等于一个呀 第一次等于0 第二次等于1 第三次等于2 最后等于99嘛
所以i是一个数字
那我们就可以拿这个数字来印出这是第几次啦

因为第一次是0啊 最后是99嘛
这是第i次产生随机数

最后再补一个逗点 这个逗点要记得 逗点要记得 而且我逗点都有配空格 这是最正确的写法 逗点都配空格

好这是第i次产生随机数 然后你要把那个随机数印出来 R就是那个随机数嘛
在这里插入图片描述

执行

在这里插入图片描述
在这里插入图片描述
哇0到99 对不对 我们现在有次数了 这是第几次产生随机数 就是把这个i印出来而已啊
它是0到99嘛 它应该是从0开始吧 这是第0次产生随机数
你觉得怪怪的 我们是不是想要从1开始
在这里插入图片描述
这边i给他+1啊 每次都给他+1啊 0变1 1变2 2变 3 印出来之前把它偷偷+1嘛 大家就会从1开始啦

再执行

最后一次是100了 很好

重点 重点 重点是
For i in range是拿来执行固定次数的
所以如果我有些内容想要执行100次 我就写一个for i in range的迴圈嘛 For i in range(100)
那如果我要执行一百万次 For i in range(1000000)
这一种写法只是固定次数

那这个i你要不要使用 进去迴圈的内容就随便你 像我们现在有使用它嘛 我们有把它印出来 迴圈的内容裡面呢 我们有用到i
不过你如果没有用到当然也没关係啊 我根本不管i是什么 这样也可以呀

Range就是这样
它只是一个清单产生器
自动从0开始到你指定的次数
它通常都是拿来跟for loop做搭配的
For i in range
为了达到执行固定次数的迴圈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值