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

猜你喜欢

转载自www.cnblogs.com/YGZICO/p/11793989.html