ZhengYing0813

一、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)

 

分类:

技术点:

相关文章: