Python 程序设计入门(011)—— range() 函数的用法
range() 函数是 Python 的内置函数之一,用于生成一个整数序列。
range() 函数的用法语法格式如下:
range(stop) # 生成一个从 0 到 stop-1 的整数序列,步长为 1。
range(start, stop[, step]) # 生成一个从 start 到 stop-1 的整数序列,步长为 step。
说明:
(1)start 和 step 参数是可选的。如果不给定 start,默认为 0。如果不给定 step,默认为 1。
(2)range() 函数生成的整数序列是一个生成器对象,可以通过遍历或者转化为列表等方式使用。
举例:
1、生成从 0 到 9 的整数序列
for i in range(10):
print(i)
list1=list(range(10))
print(list1)
运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
0
1
2
3
4
5
6
7
8
9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2、生成从 2 到 6 的整数序列
for i in range(2,7):
print(i)
tuple1=tuple(range(2,7))
print(tuple1)
运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
2
3
4
5
6
(2, 3, 4, 5, 6)
3、生成从 1 到 10 的偶数序列
for i in range(2,11,2):
print(i)
set1=set(range(2,11,2))
print(set1)
运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
2
4
6
8
10
{
2, 4, 6, 8, 10}
4、生成从 10 到 1 的倒序整数序列
for i in range(10,0,-1):
print(i)
list1=list(range(10,0,-1))
print(list1)
运行结果如下:
10
9
8
7
6
5
4
3
2
1
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
5、编写一个倒计时程序
该程序调用 time 模块的 sleep() 函数来实现:
import time
for i in range(10,0,-1):
print("倒计时:",i)
time.sleep(1) # 每次暂停1秒
运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
倒计时: 10
倒计时: 9
倒计时: 8
倒计时: 7
倒计时: 6
倒计时: 5
倒计时: 4
倒计时: 3
倒计时: 2
倒计时: 1
6、生成 10 个随机数
该程序调用 random 模块。random 模块的功能如下:
(1)重新随机排列数据,将数据的顺序打乱
语法格式如下:
random.shuffle(seq)
例如:
import random
list1 = list(range(0,10))
print(list1)
random.shuffle(list1)
print(list1)
运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[5, 4, 3, 7, 8, 9, 2, 6, 1, 0]
(2)从序列中选择 n 个随机且不重复的元素
语法格式如下:
random.sample(seq, n)
例如:
import random
list1 = list(range(0,10))
print(list1)
print(random.sample(list1,4))
print(type(random.sample(list1,4)))
运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 8, 2, 1]
<class 'list'>
(3)从列表中随机返回任意个元素
语法格式如下:
random.choice(seq)
例如:
import random
list1 = list(range(0,10))
print(list1)
print(random.choice(list1))
print(type(random.choice(list1)))
运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
9
<class 'int'>
(4)从指定范围内,按基数递增的方式获取一个随机数。
语法格式如下:
random.randrange([start,] stop [,step])
说明:
(1)范围包含 start,不包含 stop
(2)step 为步长,默认为1
例如:
import random
print(random.randrange(1,10)) # 相当于从[1,2,3,...,9]序列中返回一个随机数
print(random.randrange(20,40,2)) # 相当于从[20,22,24,...,38]序列中返回一个随机数
print(random.randrange(20)) # 相当于从[0,1,2,3,...,19]序列中返回一个随机数
运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
4
26
4