for语句
作用:
用来遍历可迭代对象的数据元素
可迭代对象是指能依次获取数据元素的对象
可迭代对象包括
Str字符串
list列表
tople元祖
dict字典
set 集合 整数不能用for语句迭代,只能用while
for语句用法:
for 变量列表 in可迭代对象:
语句块1
else:
语句块2
练习
任意输入一个字符串,判断这个字符串有几个“”空格
用for语句
s=input(“请输入字符串:”)
p=0
for i in s:
if i==" ":,
p+=1
print(“有”,p,“个空格”)
for 语法说明:
\1. 可迭代对象每次提供一个元素一次赋值给变量列表中的变量,赋值完毕后执行语句块1,重复此步骤,直到可迭代对象不能提供数据为止
\2. 可迭代对象提供完所有元素后,执行else子句部分的语句块2,然后退出此for语句
\3. else子句部分可省略,同while语句类似
\4. 当在循环内部用break语句终止循环时,else子句部分的语句不会执行
range函数
格式见:>>>help
函数:
range(stop) 从零开始,每次生成一个整数后加1操作
直到stop为止,(不包含stop)
range[start,stop[,step] 从star开始,每次生成一个整数后移动step,直到stop为止
,不包含stop,且step可以是负整数
作用:
用来创建一个生成一系列整数的可迭代对象,也叫整数序列生成器
说明:
range返回的对象是可迭代对象,可以用于for语句中、
range(4) 0,1,2,3
range(3,6)3,4,5,
range(1,10,2)1,3,5,7,9
range(5,1,-2) 5,3,1
range(4,0) 空
练习:
用for语句打印1-20语句打印在一行
求100以内有哪些整数与自身+1的成绩在对11求余结果等于8
计算1,+3+5+7+…99的和
用while 和for两种语句实现
for语句的嵌套:
for语句内部可以放任意语句,包括for语句和while语句
示例:
for x in “asf”:
for y in “1234”:
print(x+y)
Count=0
for x in range(5): 0,1,2,3,4
for y in range(10): 0 1 2 3 4 5 6 7 8 9
Count+=1
print(count)
print(4,9)
continue 语句
作用:
用于循环语句(while for语句)中,不再执行本次循环内continue之后的语句,重新开始一次新的循环
说明:
在while语句中,执行continue语句将会直接跳转到while语句的真值表达式出重新判断循环条件
在for语句中,执行continue语句,将会从可迭代对象取下一个元素,绑定变量之后再次进行循环
示例:见continue.py
for x in range(5):
If x==2:
continue
print(x)
练习:
输入一个整数,用begin绑定再输入一个整数用end绑定,打印出从begin到end的所有整数
用while循环打印十以内的偶数
求1-100(包括100)之间所有不能被5,7,11,整除的数的和是多少
循环总结:
While
For
-字符串
-range()函数
-break语句
-continue语句
练习:
输入一个整数n,判断这个整数是否是素数(只能被1和自身整除的数)
如:
2,3,5,7,11.。。。
方法:
用排除法 一旦 n能被2~n-1整除就不是素数,否则就一定是素数
列表list:
列表是由以一系列特定元素组成的,元素和元素之间没有任何关联关系,
但是他们之间有先后顺序关系
列表是一种容器
列表是序列的一种
列表是可以被改变的序列
Python中的序列类型简介
字符串
列表
元祖
字节串
字节数组
创建空列表的字面值:
L=[]
创建非空列表:
L=[1,2,3,4]
L=[“北极”,“浙江”,“上海”]
L=[1,“2”,“是的”,5]
L=[1,2,34,”sds”[1,2,36,8,”wefwe”],45,56]
列表的构造函数(创建函数)
list() 生成一个空的列表 等同于[]
list(iterable)用可迭代对象创建一个列表
示例:
L=list() L=空列表
L=list(“ABCD”)à[”A” ”B” “C” “d”]
L=list(range(1,10,2))
>>> l=list(“asdf”)
>>> l
[‘a’, ‘s’, ‘d’, ‘f’]
列表运算:
+ += * *=
+ 用于拼接列表
X=[1,2,3]
Y=[3,5,6]
Z=x+y=[1,2,3,3,5,6]
+= 用于原列表左侧可迭代对象进行拼接,生成新的列表
X=[1,2,3]
X +=[4,5,6] à x=[1,2,3,4,5,6]
X=[1,2,3]
X+=”qwe” à??
* 生成重复列表
X=[1,2,3]*2 x=[1,2,3,1,2,3]
*=生成重复列表,同时用变量绑定新列表
X=[1,2]
X*=3 x=[1,2,1,2,1,2]
列表的比较运算:
运算符:
< <= > >= == !=
x=[1,2,3]
y=[2,3,4]
x!=y True
x>[1,2] True
x<y True
[1,3,2]>[1,2,3] True
[“ab”,”cd”]>[“ac”,”bd”] False
[1,”two”] >[“two”,1] TypeError
练习:
1/1 1/3 1/5 1/7…
i=int(input(“请输入一个数:”))
m=1
sum=0.0
while m<=i:
sum+=1/m
m+=2
print(sum)
输入一个整数 代表树干的高度
打印一颗圣诞树
i=int(input("请输入一个数:"))
m=1
s=1
while m<=i:
print((i-m)*" ",(2*m-1)*"*")
m+=1
else:
while s<= i:
print((i-1)*" ","*")
s+=1
算出 100~999以内的水仙花数(水仙花数是指百位的三次方加上视为的三次方加上格纹的三次方等于原数的数字))
153 =13+53+3**3,370
i=100
while 100<=i<=999:
if (i%10)**3+((i//10)%10)**3+((i//100)%10)**3==i:
print(i)
i+=1
i+=1