range函数

range函数
作用:
用来创建一个用来生成一系列整数的可迭代对象(整数序列生成器)

range(stop) 从零开始, 每次生成一个整数后加1操作,直到stop为止(不包含stop)
range(start, stop[,step]) 从start开始,每次生成一个整数后移动step,直到stop为止(不包含stop,且step可以是负数)

示例:
range(4) # 生成 0,1,2,3
range(3, 6) # 生成 3, 4, 5
range(1, 10, 2) # 生成 1, 3, 5, 7, 9
range(5, 0, -2) # 生成 5, 3, 1
range(4, 0) # 不能生成任何整数
示例见:range.py

练习:
用for语句打印 1~20的整数,打印在一行内:
1 2 3 4 5 6 ... 20

  1. 输入一个终止的整数用 end 绑定
    计算 1 + 3 + 5 + 7 + .... n 的和
    (n 为小于 end 并最接近end的一个奇数)
    1) 用 for 语句实现
    2) 用 while 语句实现

for 语句嵌套:
示例见: for_embed.py

思考:
for x in "ABC":
for y in "123":
print(x + y)
请问以上程序的执行结果是什么?为什么?

练习:
输入一个整数用n绑定, 打印如下形式的正方形
如:
请输入: 5
打印:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
请输入: 3
打印:
1 2 3
2 3 4
3 4 5

continue语句
作用:
用于循环语句(while, for)中, 不再执行本次循环内 continue之后的语句,重新开始一次新的循环
语法:
continue

示例见:
continue.py

练习:
输入一个整数,把此整数之前的所有奇数打印出来.
(试用 for 和 continue组合使用)

continue 语句说明:

  1. 在for 语句中执行continue 语句,将会从可迭代对象中取下一个元素绑定在变量后再次进行循环
  2. 在while 语句中,执行continue 语句,将会直接跳转到while语句的真值表达式处重新判断循环条件再决定是否开始新的循环

练习:

  1. 假设用户信息为 :
    用户名: tarena
    密码: 123456
    验证码: a1b2
    让用户分为三次分别输入用户名和密码和验证码,当用户信息不匹配,提示相应的错误,直到全部输入正确跳出循环,提示‘登陆成功‘

sublime 块整体缩进的快捷键:
ctrl + ]
ctrl + [

循环小结:
while 语句
for 语句
字符串
range()函数
break 语句
continue 语句

练习:
用for 语句来实现打印三角形:
输入一个整数,打印对应的四个三角形
输入:3
1)
*
**


2)
  *
 **
***
3)
***
**
*
4)
***
 **
  *

列表 list
定义:

  1. 列表是由一系列特定元素组成的,元素和元素之间可能没有任何关联关系,但他们之间有先后顺序关系
  2. 列表是一种容器
  3. 列表是序列的一种
  4. 列表是可以被改变的序列

创建一个空列表的字面值:
L = [] # L 绑定空列表( [] 表示创建一个新的空列表)

创建一个非空的列表的字面值
L = [1,2,3,4] # 创建一个空列表,内存放四个元素
L = ["beijing", ‘Shanghai‘, ‘guangzhou‘]
L = [1, ‘two‘, 3.14, ‘four‘]
L = [1, 2, [3.1, 3.2, 3.3], 4]

列表的构造(创建)函数 list
list() 生成一个空的列表, 等同于[]
list(iterable) # 用可迭代对象创建一个列表
示例:
L = list() # 创建一个空列表,用L绑定
L = list("ABCD")
s = ‘hello‘
L = list(s) # L = [‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]
L = list(range(5)) # L = [0, 1, 2, 3, 4]
L = list(range(50, 100))

列表的算术运算:
算术运算符:

  • += =

    • 用于拼接,规则 同字符串 str
    • 用于生成重复的列表,规则 同字符串 str

列表的比较运算:
运算符:
< <= > >= == !=
示例:
x = [1,2,3]
y = [2,3,4]
x != y # True
x < y # True
x > y # False
[1, ‘two‘] > [‘two‘, 1] # typeerror 类型错误

练习:
循环每次输入一个整数, 把输入的整数添加到列表中.
当输入负数时结束输入.
最后打印输入的列表
如:
输入: 100
输入: 200
输入: 300
输入: -1
打印:
[100, 200, 300]

列表的 in / not in 运算符
判断一个值是否存在于列表中.如果存在返回True, 否则返回False
(同字符串的 in 类似)

示例:
L = [1, ‘two‘, 3.1, ‘Four‘]
1 in L # True
2 in L # False
3 not in L # True
‘Four‘ not in L # False
列表的索引和切片
索引:
列表 [整数表达式]
用法:
等同于字符串的索引
列表的索引分正向索引和反向索引,规则与字符串完全相同

示例:
x = list("abcd")
print(x[1]) # b

列表的索引赋值:
列表是可变的,可以通过索引赋值改变列表中的元素

示例:
x = [1, 2, 3, 4]
x[2] = 3.1 # 将第三个元素改为3.1
print(x)
列表的切片
列表[:]
列表[::]
列表切片的取值规则等同于字符串切片规则
示例:
L = [1,2,3,4,5,6,7,8,9]
print(L[1::2]) # 偶数
print(L[0::2]) # 奇数

列表的切片赋值:
作用:
可以改变原列表的排序,可以插入和修改数据
说明:
切片赋值的等号运算符的右侧必须是一个可迭代对象
示例:
L = [2,3,4]
L[0:1] = [1.1, 2.2] # L = [1.1, 2.2, 3, 4]
L[2:] = [3.3, 4.4, 5.5] # L = [1.1, 2.2, 3.3, 4.4, 5.5]
L[:] = [3, 4] # L = [3, 4]
L[0:0] = [1, 2] # L = [1,2,3,4] ,放入到切逢里
L = [3, 4]
L[1:1] = [3.1, 3.2]
L = [3, 4]
L[2:] = [5, 6] # L = [3,4,5,6]
L = [3, 4]
L[0:0] = "AB" # 字符串也是可迭代对象

切片注意事项:
对于步长大于1的切片赋值,可能会出现赋值错误
对于步长大于1的切片赋值, 赋值运算符的右则的可迭代对象的个数一定要等于切片切出的段数

示例:
L = [1,2,3,4,5,6]
L[::2] = [1.1, 3.3, 5.5]
L[::2] = "ABC" # 对的
L[::2] = "abcd" # 错的,因为切出的段数和可迭代对象的个数不相等

del 语句 用于删除列表元素
L = [1,2,3,4,5,6,7]
del L[-1] # L = [1,2,3,4,5,6]
del L[0] # L = [2,3,4,5,6]
del L[::2] # L = [3, 5]
练习:
已知有列表:
L = [3, 5]
1) 用L以上学过的方法实现将原列表改为:
L = [1,2,3,4,5,6]
2) 将 上面列表返回后删除最后一个元素,然后打印此列表

常用于序列的函数:
len(seq) 返回序列的长度
max(x) 返回序列中元素的最大值
min(x) 返回序列中元素的最小值
------ 以上是我们以前学过的--------
sum(x) 返回序列中所有元素的和(元素必须是数值类型)
any(x) 真值测试,如果列表中有一个值为真的元素则返回True
all(x) 真值测试,如果列表中所有元素都为真才返回True

练习:

  1. 写程序,输入开始值和结束值两个整数,求这两个数之间所有的整数的和
    开始值:5
    结束值:10
    打印
    和为:45
  2. 输入一个整数,打印出相应高度的圣诞树
    输入:2
    *




    输入:3
    *






    *
  3. 写一个程序,任意输入一个整数,判断这个数是否为素数(prime)并打印结果
    素数(也叫质数) ,是只能被1和自身整除的正整数
    如: 2 3 5 7 11 13 17 19 ....
    提示,要用到循环, break, 等知识点

    x (2,3,4,5,6,7.... x-1)

原文地址:http://blog.51cto.com/12348050/2072448

时间: 2024-10-16 09:21:19

range函数的相关文章

python3中的range函数

奇怪的现象 在paython3中 print(range(10)) 得出的结果是 range(0,10) ,而不是[0,1,2,3,4,5,6,7,8,9] ,为什么呢? 官网原话: In many ways the object returned by range() behaves as if it is a list, but in fact it isn’t. It is an object which returns the successive items of the desire

Python的range()函数用法

使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的slide,最后分析一个好玩儿的冒泡程序. 这里记录一下: >>> range(1,5) #代表从1到5(不包含5) [1, 2, 3, 4] >>> range(1,5,2) #代表从1到5,间隔2(不包含5) [1, 3] >>> range(5) #代表从0到5(不包含5) [0, 1, 2, 3,

range() 函数详解 python

使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的slide,最后分析一个好玩儿的冒泡程序. 这里记录一下: >>> range(1,5) #代表从1到5(不包含5) [1, 2, 3, 4] >>> range(1,5,2) #代表从1到5,间隔2(不包含5) [1, 3] >>> range(5) #代表从0到5(不包含5) [0, 1, 2, 3,

[转载]python的range()函数用法

使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的slide,最后分析一个好玩儿的冒泡程序. 这里记录一下 >>> range(1,5) #代表从1到5(不包含5) [1, 2, 3, 4] >>> range(1,5,2) #代表从1到5,间隔2(不包含5) [1, 3] >>> range(5) #代表从0到5(不包含5) [0, 1, 2, 3,

python的range()函数使用方法

python的range()函数使用非常方便.它能返回一系列连续添加的整数,它的工作方式类似于分片.能够生成一个列表对象. range函数大多数时常出如今for循环中.在for循环中可做为索引使用.事实上它也能够出如今不论什么须要整数列表的环境中,在python 3.0中range函数是一个迭代器. >>> range(1,5) #代表从1到5(不包括5) [1, 2, 3, 4] >>> range(1,5,2) #代表从1到5.间隔2(不包括5) [1, 3] &g

range()函数的使用

坚持每天学一点,每天进步一点,迟早有一点我会成为大神. 在python中range函数可以返回一系列连续增加的整数,也是一个迭代器. 函数用法:range(开始, 结束, 步进值): #步进值默认为1 >>>range(6) #默认从0开始迭代 [0,1,2,3,4,5] >>>range(3,6) [3,4,5] >>>range(1,6,2) [1,3,5] range()在for循环中的作用及技巧 range()也可以结合len()来索引一个序列

python之range()函数、for-in循环和while循环

range()函数和for-in循环 函数原型:range(start, end, scan): 参数含义:start:计数从start开始.默认是从0开始.例如range(5)等价于range(0, 5); end:技术到end结束,但不包括end .例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5 scan:每次跳跃的间距,默认为1.例如:range(0, 5) 等价于 range(0, 5, 1) 代码举例: 1 for n in range(3): 2 print(n

python的range函数

range(start,stop,step)参数含义:start:计数从start开始.默认是从0开始.例如range(5)等价于range(0, 5);end:计数到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5scan:每次跳跃的间距(步长参数),默认为1.例如:range(0, 5) 等价于 range(0, 5, 1),步长值为正时表示从左向右取,如果为负,则表示从右向左取. range函数的输出结果为列表 测试代码如下: #encodi

len(),range()函数

len()函数返回字符串.列表.字典.元组等长度 eg1:计算字符串的长度: >>>s='hello good boy doiido' >>>len(s) >>>21 eg2:计算列表的元素个数: name=['zhu' , 'han' , 'shi'] >>>l=['h','e','l','l','o'] age=[21,22,23] >>>len(l) for i in range(len(name)): 5 p

range()函数,产生一个整数序列

概述: range(stop) -> range objectrange(start, stop[, step]) -> range object 返回一个对象,产生一个整数序列从开始(包括)到结束(不包括),step表示每次跳跃的间距,默认为1.例如:range(0, 5) 等价于 range(0, 5, 1) 命令行演示: >>> list(range(5))[0, 1, 2, 3, 4]>>> list(range(0, 5, 2))[0, 2, 4]