for 语句(循环语句)
作用:
用来遍历可迭代对象元素
语法:
用来遍历可迭代对象元素
语法:
for 变量列表 in 可迭代对象:
语句块1...
else:
语句块2...
语法说明:
1.可迭代对象每次提供一个元素依次赋值给变量列表中的变量,赋值完毕后执行语句块1,重复执行此步骤
2.当可迭代对象不能提供数据时,执行else子句部分的语句块2,然后退出循环
3.else子句部分可以省略
4.当在语句内部用break终止循环时,else子句部分语句块2不会执行
else:
语句块2...
语法说明:
1.可迭代对象每次提供一个元素依次赋值给变量列表中的变量,赋值完毕后执行语句块1,重复执行此步骤
2.当可迭代对象不能提供数据时,执行else子句部分的语句块2,然后退出循环
3.else子句部分可以省略
4.当在语句内部用break终止循环时,else子句部分语句块2不会执行
注:可迭代对象是指能依次获取数据元素的对象
示例:
s="abcde"
for x in s:
print("----->",x)
else:
print("程序终止")
s="abcde"
for x in s:
print("----->",x)
else:
print("程序终止")
s="abcde"
for x in s:
print("----->",x)
if x=='c': # 此时else 子句部分不会执行
break
else:
print("程序终止")
for x in s:
print("----->",x)
if x=='c': # 此时else 子句部分不会执行
break
else:
print("程序终止")
练习
写程序,任意输入一行字符串,打印这个字符串内有多少空格' '
s=input("请输入一行字符串:")
a=0
for x in s:
if x==" ":
a+=1
print(a)
写程序,任意输入一行字符串,打印这个字符串内有多少空格' '
s=input("请输入一行字符串:")
a=0
for x in s:
if x==" ":
a+=1
print(a)
i=0
s=input("请输入一行字符串:")
a=0
length=len(s)
while i < length:
s=input("请输入一行字符串:")
a=0
length=len(s)
while i < length:
if x==" ":
a+=1
i+=1
print(a)
a+=1
i+=1
print(a)
range函数
作用:
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
调用格式:
range(stop)
从零开始,每次生成一个整数后加一操作,直至stop为止(不包含stop)
range(start,stop[,step]) 从start开始,每次生成一个整数后移动step,直至stop为止(不包含stop,且step可以为负数)
示例:
range(4)
作用:
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
调用格式:
range(stop)
从零开始,每次生成一个整数后加一操作,直至stop为止(不包含stop)
range(start,stop[,step]) 从start开始,每次生成一个整数后移动step,直至stop为止(不包含stop,且step可以为负数)
示例:
range(4)
# 0 1 2 3
range(3,6)
range(3,6)
# 3 4 5
range(1,10,2)
range(1,10,2)
# 1 3 5 7 9
range(5,0,-2)
range(5,0,-2)
# 5 3 1
range(4,1)
range(4,1)
# 空
for x in range(4):
print(x)
for x in range(4):
print(x)
# 0 1 2 3
练习:
用 for 执行
2.写一个程序,输入一个开始的整数值用变量begin绑定
用 for 执行
2.写一个程序,输入一个开始的整数值用变量begin绑定
输入一个结束的整数值用变量eng绑定
打印从begin到end(不包含end)的每个整数(打印在一行内)
如:
请输入开始值:8
请输入结束值:30
打印从begin到end(不包含end)的每个整数(打印在一行内)
如:
请输入开始值:8
请输入结束值:30
打印结果:
8 9 10...28 29 30
附加思考:
如何实现每5个数字打印在一行
8 9 10...28 29 30
附加思考:
如何实现每5个数字打印在一行
begin=int(input("请输入开始值:"))
end=int(input("请输入结束值:"))
i=1
for a in range(begin,end):
print(a ,end=" ")
if i%5==0:
print()
i+=1
end=int(input("请输入结束值:"))
i=1
for a in range(begin,end):
print(a ,end=" ")
if i%5==0:
print()
i+=1
for 语句嵌套:
示意:
for x in "ABC":
for y in "123":
print(x+y)
练习
用 for 循环嵌套打印以下矩形:
(输入一个数n(10以内) 代表矩形的宽度和高度)
打印如下:
请输入: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
b=int(input("请输入一个整数(10以内):"))
if 0< b <=10:
for s in range(0,b):
for d in range(1,b+1):
print(s+d ,end=" ")
print()
else:
print("输入有错")
用 for 循环嵌套打印以下矩形:
(输入一个数n(10以内) 代表矩形的宽度和高度)
打印如下:
请输入: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
b=int(input("请输入一个整数(10以内):"))
if 0< b <=10:
for s in range(0,b):
for d in range(1,b+1):
print(s+d ,end=" ")
print()
else:
print("输入有错")
3.用for循环生成一个字符串:
'ABCD...XYZ'并打印
'AcBbCcDd...XxYyZz'并打印
提示:
用chr和ord函数
x=0
for a in range(65,91):
b=97
q=[]
while b<= 122:
q+=chr(b)
b+=1
print(chr(a)+q[x],end=" ")
x+=1
a+=1
'ABCD...XYZ'并打印
'AcBbCcDd...XxYyZz'并打印
提示:
用chr和ord函数
x=0
for a in range(65,91):
b=97
q=[]
while b<= 122:
q+=chr(b)
b+=1
print(chr(a)+q[x],end=" ")
x+=1
a+=1
continue 语句
作用:
用于循环语句(while,for语句)中,不再执行本次循环内continue之后的语句,重新开始一次新的循环
说明:
1.在while语句中执行continue语句,将直接跳转到whlie语句的真值表达式处重新判断循环条件
2.在for语句中执行continue语句,将会从可迭代对象中取下一个语句,绑定变量后再次进行循环
示例:
打印5以内的整数,但不打印2:
for i in range(5):
if i == 2:
contiue #如果i等于2,重新开始一次新的循环
print(i)
if i == 2:
contiue #如果i等于2,重新开始一次新的循环
print(i)
实例:
输入一个开始的数用begin绑定
输入一个结束的数用end绑定
打印begin~end之间所有的奇数
begin=int(input("请输入一个开始的整数:"))
end=int(input("请输入一个结束的整数:"))
for s in range(begin,end):
if s%2==0:
contiue
prlint(s)
输入一个开始的数用begin绑定
输入一个结束的数用end绑定
打印begin~end之间所有的奇数
begin=int(input("请输入一个开始的整数:"))
end=int(input("请输入一个结束的整数:"))
for s in range(begin,end):
if s%2==0:
contiue
prlint(s)
begin=int(input("请输入一个开始的整数:"))
end=int(input("请输入一个结束的整数:"))
i=begin
while i<end:
if i%2==0:
i+=1
continue
print(i)
i+=1
end=int(input("请输入一个结束的整数:"))
i=begin
while i<end:
if i%2==0:
i+=1
continue
print(i)
i+=1
练习:
写一个程序,求1~100之间所有不能被5,7,11整除的数的和
d=0
for s in range(1,101):
if s%5==0 or s%7==0 or s%11==0:
continue
d+=s
写一个程序,求1~100之间所有不能被5,7,11整除的数的和
d=0
for s in range(1,101):
if s%5==0 or s%7==0 or s%11==0:
continue
d+=s
print(d)