zoukankan      html  css  js  c++  java
  • python语法入门之流程控制

    流程控制

    一、流程控制

    流程控制就是控制流程,具体控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构、分支结构(用if判断)、循环结构(用到while与for)

    主要目的就是让计算帮助人类工作,所以,编写的程序需要有判断力

    语法结构:python是通过缩进来决定代码的归属(4个空格表示一个缩进)

    二、分支结构

    • if 主要用于判断事物的对错,真假,是否可行
    if 条件	#如果结果为True,就依次执行:代码1,代码2
    	代码1
    	代码2
    	……
    elif 条件2	#可以加N多个elif
    	代码3
    	代码4
    	……
    else	#条件不成立的情况下,就依次执行:
    	代码5
        代码6
    
    • 0,None,""空字符串,[]空列表,{}空字典可以当做False来使用
    • 其他均为True

    例子一:

    ​ 如果:女人年龄>30,那么叫:阿姨,否则:小姐

    age_of_girl=31
    if age_of_girl > 30:
        print('阿姨')
    else:
        print('小姐')
    

    例子二:

    ​ 如果成绩>=90,那么优秀

    ​ 如果成绩>=80,那么良好

    ​ 如果成绩>=60,那么合格

    ​ 否则,不及格

    score = input('请输入你的成绩>>>:')
    score = int(score)
    if score >= 90:
        print('优秀')
    elif score >= 80:
        print('良好')
    elif score >= 60:
        print('合格')
    else:
        print('不及格')
    

    • if嵌套

      如果:女人18 <=年龄<=24并且身高大于160体重小于120并且是漂亮的

      那么表白,否则:打扰了

      如果:表白成功,那么在一起

      否则:爱你妈卖麻花情

    age_of_girl = 22
    height = 165
    weight = 110
    is_pretty = True
    success = True
    if 18 <= age_of_girl <= 24 and height > 160 and weight < 120 and is_pretty:
        if success:
            print('表白成功,在一起')
        else:
            print('爱你妈卖麻花情')
    else:
        print('打扰了')
    

    登录功能

    Username = input('请输入用户名:') .strip()    # .strip的作用可以过滤掉你输入内容中多加的空格
    Password = input('请输入密码:') .strip()
    if Username == 'yang' and Password == '123':
        print('登录成功')
    else:
        print('用户名或密码错误')
    

    三、循环结构

    循环结构就是重复执行某段代码块

    • while循环语法

      python中有while和for两种循环机制,区中while循环称之为条件循环

    • while的运行步骤:

      步骤1:如果条件为真,那么一次执行:代码1、代码2、……

      步骤2:执行完毕后再次判断条件,如果条件为True则再次执行:(代码1、代码2、……,如果条件为False,则循环终止)

    while 条件:
    	代码1
        代码2
        ……
    

    例子一:while循环的基本使用

    用户认证三次失败程序

    break代表结束本层循环,而continue则用于结束本次循环,直接进入下一次的循环

    username = 'yang'
    password = '123'
    count = 0   # 用于记录错误验证的次数
    while count < 3:
        inp_name = input('请输入用户名:')
        inp_pwd = input('请输入密码:')
        if inp_name == username and inp_pwd == password:
            print('登录成功')
        	#用于结束本层循环
            #break   # 这个是while循环嵌套+break
        else:
            print('输入的用户名或密码错误')
            count += 1
    

    例子二:while循环嵌套+tag的使用

    username = 'yang'
    password = '123'
    count = 0   # 用于记录错误验证的次数
    tag = True
    while tag:
        inp_name = input('请输入用户名:')
        inp_pwd = input('请输入密码:')
        if inp_name == username and inp_pwd == password:
            print('登录成功')
            while tag:
                cmd = input(">>:")
                if cmd == 'exit':
                    tag = False     # tag变为False,所有while虚幻的条件都变为False
                    break   # 用于结束本层循环
            print('run<%s>' % cmd)
            break   # 用于结束本层循环,即第一层循环
        else:
            print('输入的用户名或密码错误')
            count += 1
    

    例子三:while和continue的使用

    number = 0
    while number < 10:
        number += 1
        if number == 7:
            continue    #结束掉本次循环,即本次虚幻continue之后的代码都不会运行了,而是直接进入下一步
        print(number)
    

    例子三:while和else的使用

    count = 0
    while count <= 5:
        count += 1
        # if count == 3 :
        # break
        print('Loop', count)
    else:
        print('循环正常执行完了')
    

    猜年龄

    age = 18
    count = 0
    while count < 3:
        count += 1
        guess = int(input('>>:'))
        if guess > age:
            print('大了')
        elif guess < age:
            print('小了')
        else:
            print('答对了')
    
    • for循环语法
      • 循环结构的第二种实现方式是for循环,for循环可以做的事情,while都可以实现,之所以用for循环是因为在循环取值时for循环比while循环的使用更为简洁

    语法:

    ​ for 变量名 in 对象: (这里的对象可以是字符串/列表/字典)

    ​ 代码一

    ​ 代码二

    ​ ……

    #例如:
    for number in [1, 2, 3]:
        print(number)
    1
    2
    3
    
    #打印出下面图形:
    *****
    *****
    *****
    
    for i in range(3):
        for j in range(5):
            print('*', end='')
        print()	#代表换行
    

    打印乘法表:

    for i in range(1,10):
        for j in range(1,i+1):
            print('%s*%s=%s ' % (i, j, i*j), end='')
        print()
    

    打印金字塔:

    #分析
    '''
    #max_level=5
        *    	#current_level=1,空格数=4,*号数=1
       ***   	#current_level=2,空格数=3,*号数=3
      *****  	#current_level=3,空格数=2,*号数=5
     ******* 	#current_level=4,空格数=1,*号数=7
    *********	#current_level=5,空格数=0,*号数=9
    
    #数学表达式
    空格数=max_level-current_level
    *号数=2*current_level-1
    '''
    #实现:
    max_level = 5
    for current_level in range(1, max_level+1):
        for i in range(max_level-current_level):
            print(' ', end='')
        for j in range(current_level * 2 - 1):
            print('*', end='')
        print()
    
  • 相关阅读:
    Android Sqlite 增删改查
    Android SQLiteOpenHelper Sqlite数据库升级onUpgrade
    Android SQLiteOpenHelper Sqlite数据库的创建与打开
    Android Xml,PullParser,解析
    Android Xml文件生成,Xml数据格式写入
    Android Studio生成get,set,tostring,构造方法
    Android SharedPreference
    Android 文件模式
    Android 权限的由来
    C++ essentials 之 union
  • 原文地址:https://www.cnblogs.com/YGZICO/p/11793989.html
Copyright © 2011-2022 走看看