for循环与range函数,continue语句

    for 语句:
作用: 
    用来遍历可迭代对象的数据元素  遍历:如有六节车厢找一个人需要每节车厢找一边
        可迭代对象是指能依次获取数据元素的对象

迭代对象包括:
    字符串:str
    列表 list 
    元组  tuple   

for语法:
    for 变量列表 in可迭代对象:
    语句块1
    else:
        语块2


示例:
s = "ABCD"
for ch in s:
    print ("ch---->>",ch)


结果:
ch---->> A
ch---->> B
ch---->> C
ch---->> D

练习:
1. 任意输入一段字符串
a) 计算出输入字符的“a”个数,并打印出
b) 计算出空格的个数,打印个数
思考:
用while语句能否实现

a)  答案:


a =  input ("输入字符串:")
c = 0                               #用于求和的
for  b  in  a :             #循环输入字符串中a的每一个元素
    if  b =="a":    #如果b中有“a”则执行下边语句
        c += 1
        print (b)     #打印出字符串a
print (c)               #输出输入字符串中“a”的个数

    b)答案:

a =  input ("输入字符串:")
c = 0
for  b in a :
    if  b == " ":
    c += 1

print ("空格个数",c)

for语句说明:
    else  子句部分可以忽略
当在循环内部用break终止循环时,else子句部分不会执行

示例:
输入一段字符串,判断这个字符串内是否有“h”这个字符,并打印出来
答案:

s =  input ("输入字符串:")
for ch  in s :
    if ch == "h":
        print (s,"中含有字符“h”")
        break                   #结束循环
else:
    print (s,"中不含有“h”")
range 函数
    range(stop)  用来生成0~stop区间内的整数,直到stop为止(不包括stop)

range (start,stop,step)   step步数与切片差不多
    用来生成start~stop区间内的整数,直到stop为止(不包含stop)
**作用:**
    用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
说明:
    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,0,-2)                 #生成5,3,1
    range  (4,0)                        # 空

练习:
    用for1-20整数,打印在一行捏:
    答案:
for a in   range(1,21):
      print (a,end = "")
else:
    print()

练习:计算1+3+5+7+。。。。。。。+99的和

while语句答案:
i = 1
sum =0 
while i <= 99:                   #当结束循环时输出print(c)的值
    if i % 2 != 0:  
        sum +=i
    i += 1 
print (sum,end = "")for语句做
sum = 0
for  a in range (1,100):         
    if a % 2 != 0:          #for循环从1到99依次执行一次if语句
        sum =sum + a

print (sumfor 语句变量可能不被创建
问题:
    for x in  range (4,0)              #range(4,0)为空所以不被创建
        print(x)
    print (‘x绑定’,x)

for 注意问题:

for 语句的嵌套:
    for x in  “abc“
        for y in123print (x+y)
    结果:
    a1
    a2
    a3
    b1
    b2
    b3
    c1
    c2
    c3
for x iabc":                          fx in “abc“:
        for  y in "123":                  for y in“123”:
            print (x)                        print (y)
结果: 
a      先循环”abc“中的a                                  1
a      然后a再与“123“一起循环                            2
a      因为123有三个数所以a循                             3
b      环三次                                               1
b                                                           2
b                                                           3
c                                                           1 
c                                                           2
c                                                           3

练习:
1.求10

0以内有哪些数与自身+1的乘积再对11求余等于8?
2.输入1个数,打印图形
输入5:
12345
12354
12345
12345
12345
3.
输入一个数打印图形:
输入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

2.答案:
i =  int(input("输入一个数"))
for  a in  range(1,i+1) :       #输出  a =1 2 3 4 5
    for y in range (1,i+1):  
        print (y,end = "")
    print()

答案:3
i =  int(input("输入一个数"))
for  a in  range(1,i+1) :       #输出a=1 2 3 4 5
    for y in range (a,i+a):    #先循环a=1  则语句这(a,i+a)为(1,i+1)
        print (y,end = "")
    print()


4.用程序生成如下

字符串:
a) “ABCDEFG…..XYZ“
b) “AaBbCc。。。。Zz“
可以用 ord 和chr函数

答案a:
for x in  range (65,92):
    print (chr(x),end= "")


答案b:    
    s2 = " "
    for x in  range (65,92):

    s2 += chr (x)             #第一次循环输出"A"
        s2 += chr (x+32)      
    print(s2)







**continue语句**
**作用:
        用于循环语句(while,for中)不再执行本次循环continue之后的语句,重新开始一次新的循环**
语法:
        在while语句中执行continue,将会直接跳转到while语句的真值表达式处重新判断循环条件
        在for语句中执行continue语句,将会从可迭代对象中选取下一个元素,绑定变量后在再次循环
示例:
    for x in range (5):
        if x ==2:
            continue     #当满足if x==2,结束这次循环不再进行print(x)输出而是从新开始从for语句中进行第三次循环
    print(x)

结果:
0
1
3
4
while语句中运行
用contine示例:
x =  0
while x < 5:
    if x == 2 :  
         x += 1     然后结束if语句输出结果3然后开始执行下一次循环x+ = 1,这时x等于4开始再次进行while的循环
         continue
    print(x)
    x += 1
结果:
0
1
3
4


练习:1.求一到一
百之间所有不能被2,3,5,7整除数的和

答案: 
sum = 0
for x in range (1,101):
    if x % 2 == 0 or  x % 3 ==0  or x % 5 ==0 or x % 7 == 0:
        continue         #满if条件后跳过满足条件的这次循环再进行下一次循环
    sum += x

print(sum)              #输出不满足条件数的总和
结果 :1044
另一种情况:
sum = 0
for x in range (1,101):
    if x % 2 == 0 or  x % 3 ==0  or x % 5 ==0 or x % 7 == 0:
        continue         #满if条件后跳过满足条件的这次循环再进行下一次循环
    sum += x

    print(sum)    #当print在if语句下的话执行的结果是满足if条件后执行一次就求和然后跳过不满足if 条件的这次循环进行下次循环当满足if后再次进行一下求和
结果:
1
12
25
42
61
84
113
144
181
222
265
312
365
424
485
552
623
696
775
858
947
1044

猜你喜欢

转载自blog.csdn.net/p949668187/article/details/82354208
今日推荐