• python之3种控制流语句(if,for,while)


    1.if条件语句

    (1)if条件语句 (比较/逻辑/成员运算均可)

    # 方法1
    
    if 条件1:
      # 条件1成立执行的代码1
    elif 条件2:
      # 条件2成立执行的代码2
    elif 条件3:
      # 条件3成立执行的代码3
    else# 条件不成立执行的代码
    
    # 方法2
    
    if 条件:
               子语句
    else:
               子语句

    2.for语句

    (1)遍历一个常量

    for item in 某个数据类型(字符串,列表,元组,字典,集合):
      代码块

    (2)循环次数

    for  i  in range(起始值,结束值,步长): # 取头不取尾
        代码块
    • 遍历字典:得到字典的键

    for k in dic.keys():
    • 遍历字典的值:dic.values()
    for v in dic.values():
    • 遍历字典的键值对:dic.items(),遍历出来的是元组
    for item in dic.items(): # item返回的结果是元组 (遍历出来的是元组)
    
    #
    方法2 for k,v in dic.items(): # 元组格式才可以多变量,字典、列表、字符串不可以   # k--> 接收键   # v--> 接收值
    • 补充:元组拆包
    a,b = (111,222)
    print(a) # 111
    print(b) # 222

    (3)for与break,continue,else

    • for-else: for循环正常结束会运行,else下面的代码,如果循环非正常结束(break终止循环),则不会运行
    user = [{"name":"py01","pwd":"123"},{"name":"py02","pwd":"123"},{"name":"py03","pwd":"123"},{"name":"py04","pwd":"123"}]
    # 查询“py03”这个用户是否在列表中
    for item in user:
      if item["name"] == "py03":
        print("py03在user中")
        break
    else:
      print("py03不在user中")

    (4)for循环嵌套使用

    # for 循环嵌套使用
    for i in range(1,6): # 行数
      for j in range(1,i+1):
        print(j,end=' ')
      print('')

    3.while语句

    先判断while后面的条件表达式是否成立;如果成立,执行代码块,否则不进入代码块;执行完毕后,继续判断,直到不进入代码块为止

    while 条件表达式(逻辑,成员,比较,空数据,布尔值): # 空数据==False,非空数据==True
      代码块/循环体(条件为True执行操作)  # 如果条件一直成立,则一直循环做条件满足的事情,直到条件不成立。结束循环
    • break:终止循环,跳出循环体
    • continue:中止当前本来循环,开启下一轮循环
      while True:
          s = (input("Enter something:"))
          if s == 'quit':
              break
          if len(s) < 3:
              print('Too small')
          continue
          print('输出字符串的长度',len(s))
      print('Done')

      输出结果为:

    >>> ================================ RESTART ================================
    >>> 
    Enter something:12
    Too small
    Enter something:123
    Enter something:1234
    Enter something:quit
    Done

    (1) while-else:while条件不成立的时候执行

    n = 0
    while n<10:
      print(n)
      if n == 5:
        break
      n += 1
    else:
      print('while循环对应的else')

     (2)while-(if-else)组合

    #找出10-12岁的小女孩的总人数,询问10次
    
    i = 10
    count = 0
    while i>0:
        sex = input('请问你的性别是:')
        if sex == '':
            age = int(input('请问你多大:'))
            if 10<=age<=12:
                print('恭喜你,你符合条件')
                count+=1
            else:
                print('很遗憾,不符合条件')
        else:
            print('很遗憾,不符合条件')
        i-=1
    print("10-12岁小女孩的总人数为:", count)

    (3)综合应用

    # 例如:password = {'admin':'123321','user1':'123456'}
    # 1.设计一个登录程序,不同的用户名和对应密码存在一个字典里面,输入正确的用户和密码去登录
    # 2.首先输入用户名,如果用户名不存在或为空,则一直提示输入正确的用户名
    # 3.当用户名正确时,提示去输入密码,如果密码跟用户名不对应,提示密码错误请重新输入
    # 4.如果密码输入错误超过3次,中断程序运行
    # 5.当输入密码错误时,提示还有几次机会
    # 6.用户名和密码都输入成功的时候,提示登录成功
    
    loginMessage = {'username1': '1234','username2': '1234','username3': '1234','username4':'1234','username5': '1234'}
    
    count = 0 # 密码输入次数
    while True:
        username = input('请输入用户名:')
        if username in loginMessage.keys():
            while count <= 3:
                pwd = input('请输入密码:')
                if pwd == loginMessage[username]:
                    print("登录成功!")
                    break
                else:
                    count+=1
                    print("密码错误,请重新输入")
                    print("还有{0}次机会修改密码".format(3 - count))
            break
    
        elif username not in loginMessage.keys() or username =='':
            print("用户名错误,请重新输入")
  • 相关阅读:
    网页a标签:导航制作 怎么让鼠标经过A标签的时候显示块状背景?
    从头开始,慢慢来,今天工作日志
    想看所有的美国系列电影
    百分比宽度并排元素浮动之后,设置margin,padding换行的问题
    TP5.1 首页路由
    关于Layui 响应式移动端轮播图的问题
    BootStrap 栅格化换行问题
    VS code 格式化插件, 仅需一步, 无须配置
    PHPStorm 批量选择,多光标同时编辑相同的内容
    使用Cmder 安装 Composer 出现 "attempt to call a nil value"
  • 原文地址:https://www.cnblogs.com/kite123/p/11357164.html
Copyright © 2020-2023  润新知