python(For 循环语句)

一、For循环

  • Python for 循环可以遍历任何序列的项目,如一个列表或者一个字符串或者字典等。
  • 语法模式:for var in sequence:
  • while 循环和 for 循环的区别
    • 表达式不一样
      • for i in xxx:
      • while True:
    • 执行逻辑不一样
      •  for 循环可以遍历任何序列的项目,比如字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素
      • while 循环会一直执行它下面的代码片段,直到它对应的布尔表达式为 False 时才会停下来。具体来讲,while 循环所作的和if语句类似,也是去检查一个布尔表达式的真假,不一样的是它下面的代码片段不是只被执行一次,而是执行完后再调回到 while 所在的位置,如此重复进行,直到 while 表达式为 False 为止
    •  for 循环的目的是遍历和为了限制循环体的执行次数
    • while 循环目的是为了反复执行语句或代码块
    • while 循环容易陷入死循环,而 for 循环不会陷入死循环

(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)

 

posted @ 2019-10-24 12:00  一个老宅男  阅读(969)  评论(0编辑  收藏  举报