range()函数用于取值,但是这个函数很有意思
用法:
range(n) #从默认值0开始,取到第n位上的数字;
range(m,n) #从实值m开始取,取到第n位上的数字;
range(m,n,l) #从实值m开始取,每次间隔l,到n位停止(不一定取到n位上的数字);
---------------------------------------------------------------------------------------------------------------------------------
直接上例子:
例一:range(n)
for i in range(10): #表示变量i取10个默认值
print(i) #打印i的值运行结果如下:
D:\pythonFile\venv\Scripts\python.exe D:/pythonFile/day1/range.py
0
1
2
3
4
5
6
7
8
9
Process finished with exit code 0从运行结果中可以看出,i的的确确取了n个值,但是默认是从0开始取,一直取到n-1,一共n个
例二:range(m,n)
for j in range(2,10): #变量j从2这个值开始取,一直取到从0开始的第十位
print(j) #打印j运行结果如下:
D:\pythonFile\venv\Scripts\python.exe D:/pythonFile/day1/range.py
2
3
4
5
6
7
8
9
Process finished with exit code 0由此猜想:for j in range(2,10)中,2就是从2这个数开始取,10指的是系统默认的第十位。
验证猜想:如果for k in range(10,10)运行报错,那么猜想成立。
验证:
for k in range(10,10): #变量k从10这个值开始取,一直取到默认第10位
print(k) #打印k运行结果如下:
D:\pythonFile\venv\Scripts\python.exe D:/pythonFile/day1/range.py
Process finished with exit code 0很遗憾,没有报错,但是一个值也没取,验证对了一半。有必要再验证一次
如果for k in range(9,10),会不会只打印9呢?
再次验证:
for k in range(9,10): #变量k从9这个值开始取,一直取到默认第10位
print(k) #打印k运行结果如下:
D:\pythonFile\venv\Scripts\python.exe D:/pythonFile/day1/range.py
9
Process finished with exit code 0由此可知range(m,n)的意思是:从实值m开始取,取到默认的第n个值。
例三:range(l,m,n)
for k in range(1,10,2): #变量k从1这个值开始取,每次+2,一直取到默认的第10位
print(k) #打印k运行结果如下:
D:\pythonFile\venv\Scripts\python.exe D:/pythonFile/day1/range.py
1
3
5
7
9
Process finished with exit code 0再来一个对照组:
for k in range(0,10,2): #变量k从0这个值开始取,每次+2,一直取到默认的第10位
print(k) #打印k运行结果如下:
D:\pythonFile\venv\Scripts\python.exe D:/pythonFile/day1/range.py
0
2
4
6
8
Process finished with exit code 0-------------------------------------------------------------------------------------------------------------------------------
总结:
range(n) #从默认值0开始,取到第n位上的数字;
range(m,n) #从实值m开始取,取到第n位上的数字;
range(m,n,l) #从实值m开始取,每次间隔l,到n位停止(不一定取到n位上的数字);