一、For循环
Python for 循环可以遍历任何序列的项目,如一个列表或者一个字符串或者字典等。
语法模式:for var in sequence:
(1)从某个集合(列表等)里顺次取值
#遍历字符串 name = 'ShenZhen' list1 = [] for a in name: list1.append(a) print (list1) #变量列表 fruits = ['banana', 'apple', 'mango'] for i in fruits: print ('当前水果 :',i) #遍历字典 dic1 = {'name':'zhangsan','age':'18','sex':'boy'} for key in dic1: print ('the key is %s,the value is %s'%(key,dic1[key]))
#三次密码错误重新输入账号 users = {"zhangsan":"123456","lisi":"234567","wangwu":"345678"} A = True while A: user = input("请输入你的账号:") if user in users.keys(): for i in range(3): pwd = input("请输入你的密码:") if pwd == users.get(user): print ("登录成功") A = False break else: print ("密码错误") else: print ("用户不存在")
(2)另外一种执行循环的遍历方式是通过索引,结合 range()内置函数使用
fruits = ['banana', 'apple', 'mango'] #Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表 for index in range(len(fruits)): print ('当前水果 :', fruits[index]) print ("Good bye!")
# for循环求偶数和 list1 = [] for i in range(101): if i % 2 ==0: list1.append(i) print (sum(list1)) """ sum1 = 0 for i in range(0 ,101 ,2): sum1 += i print (sum1) """
# 用户登陆(三次机会重试) for i in range(3): a = input('请输入用户名:') b = input('请输入密码:') if a =='admin' and b ==123456: print ('登陆成功') break else: print('登录失败')
# 猜年龄游戏:要求:允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出 for i in range(3): a = input('请输入年龄:') if a == '18': print ('恭喜') break else: print ('猜错了')
(3)冒泡排序
a = [2,5,1,7,9,3,4] for x in range(len(a)-1): for y in range(x+1,len(a)): if a[y] > a[x]: a[x],a[y] = a[y],a[x] print (a)