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
- 输入一个终止的整数用 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 语句说明:
- 在for 语句中执行continue 语句,将会从可迭代对象中取下一个元素绑定在变量后再次进行循环
- 在while 语句中,执行continue 语句,将会直接跳转到while语句的真值表达式处重新判断循环条件再决定是否开始新的循环
练习:
- 假设用户信息为 :
用户名: tarena
密码: 123456
验证码: a1b2
让用户分为三次分别输入用户名和密码和验证码,当用户信息不匹配,提示相应的错误,直到全部输入正确跳出循环,提示‘登陆成功‘
sublime 块整体缩进的快捷键:
ctrl + ]
ctrl + [
循环小结:
while 语句
for 语句
字符串
range()函数
break 语句
continue 语句
练习:
用for 语句来实现打印三角形:
输入一个整数,打印对应的四个三角形
输入:3
1)
*
**
2)
*
**
***
3)
***
**
*
4)
***
**
*
列表 list
定义:
- 列表是由一系列特定元素组成的,元素和元素之间可能没有任何关联关系,但他们之间有先后顺序关系
- 列表是一种容器
- 列表是序列的一种
- 列表是可以被改变的序列
创建一个空列表的字面值:
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
练习:
- 写程序,输入开始值和结束值两个整数,求这两个数之间所有的整数的和
开始值:5
结束值:10
打印
和为:45 - 输入一个整数,打印出相应高度的圣诞树
输入:2
*
输入: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