Python初学(八)循环及案例

循环结构用来重复执行一条或多条语句,使用循环结构可以减少源程序重复书写的工作量。许多算法需要使用到循环结构,Python使用for语句和while语句来实现循环结构。

1.可迭代对象:一次返回一个一个字符。

可迭代对象包括:序列,例如字符串、列表、元组等;字典;文件对象;迭代器对象;生成器函数

迭代器是一个对象,表示可迭代的数据集合。

range是一个迭代器对象,可产生指定范围内的数字序列。

#1-11依次输出
for i in range(1,11):print(i,end=" ")

1 2 3 4 5 6 7 8 9 10

1-11按照步长3依次输出
for i in range(1,11,3):print(i,end=" ")

 1 4 7 10 

生成器是一个函数,使用yield语句,每次产生一个值。

2.for循环

for语句用于遍历可迭代对象集合中的元素,并对集合中的每个元素执行依次嵌入语句。

格式:

for 变量 in 对象集合:

      循环体语句/语句块

 示例:0-100奇偶数的各自和:

oushusum = 0
jishusum = 0
for i in range (1,101):
    if i % 2 != 0:
        jishusum += i
    else:
        oushusum += i
print("0-100奇数和为:%d"%jishusum)
print("0-100偶数和为:%d"%oushusum)

 3.while循环

while循环与for循环的区别在于循环开始前不知道会重复几次语句。

用while输出0-100奇偶数的各自和:

i = 0
a = 0
b = 0
while i <=100:
    if i%2==0:
        a = i + a
    else:
        b = i + b
    i=i+1
print("1-100偶数和为%d"%a)
print("1-100奇数和为%d"%b)

 4.嵌套

一个循环体内又包含另一个完整的循环结构,称之为循环的嵌套。

利用while循环嵌套输出99乘法表

i = 1
while i <= 9:
    c = 1
    while c <= i:
        print("%d * %d = %d\t"%(c , i , i*c),end=" ")
        c += 1
    print("")
    i += 1

 利用for循环的嵌套:

i = 1
for i in range(1,10):
    j=1
    for j in range(1,10) :
        if j > i:
            continue
        else:
            print("%d * %d = %d\t"%(j , i , j*i),end="")
        j += 1
    print("")
    i+=1
 

 5.break语句和continue语句

都是用在for或while循环里,用于提前退出循环。

区别在于:continue语句进结束本次循环,并返回到循环起始处,如果条件满足开始下一次循环。

break用于结束循环,跳转到循环的后继语句。

break示例:

while True:
    s = input('输入字符串,按q退出')
    if s == 'q':
        break
    print('字符串的长度是:',len(s))

 continue可见嵌套的利用

6.zip()函数循环

zip()可将多个元素打包成一个个元组。

a = [0,2,4,6,8]
b = [1,3,5,7,9]
for e,o in zip(a,b):
    print("{0}*{1}={2}".format(e,o,e*o))

 7.map()函数

map()函数可遍历对象,使用指定函数处理对应的元素。

#计算绝对值
print(list(map(abs,[-1,0,7,-8])))
#计算乘幂
print(list(map(pow,range(5),range(5))))
#计算ASCII码
print(list(map(ord,'abcdef')))
#字符串拼接
print(list(map(lambda x,y:x+y,'abc','de')))

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值