for 循环的语法和应用, range函数,continue函数

for 语句(循环语句)
作用:
 用来遍历可迭代对象元素
语法:
for  变量列表 in 可迭代对象:
    语句块1...
  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)
 if x=='c':  # 此时else 子句部分不会执行
 break 
else:
 print("程序终止")
练习 
写程序,任意输入一行字符串,打印这个字符串内有多少空格' '
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:
 if x==" ":
  a+=1
 i+=1
print(a)
range函数
作用:
  用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
调用格式:
  range(stop)
  从零开始,每次生成一个整数后加一操作,直至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,1)   
   # 空
  for x in range(4):
   print(x)
   # 0 1 2 3
练习:
用 for 执行
2.写一个程序,输入一个开始的整数值用变量begin绑定
输入一个结束的整数值用变量eng绑定
打印从begin到end(不包含end)的每个整数(打印在一行内)
如:
请输入开始值:8
请输入结束值:30
打印结果:
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


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("输入有错")
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

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)
实例:
  输入一个开始的数用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
练习:
  写一个程序,求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)


猜你喜欢

转载自blog.csdn.net/Shen1105/article/details/81055188