python流程控制while和if

时间:2023-03-09 00:17:18
python流程控制while和if

流程控制

1.流程控制if

if的4种语法

  • 语法1:

  
#结构形式
#if条件:
# 代码1
# 代码2
# 代码3
# ...
key_bak=123
key=int(input('key:'))
if key==key_bak:
print('login')
print('end...')
  • 语法2:

    #结构形式
    #if条件:
    # 代码1
    # 代码2
    # ...
    #else:
    # 代码1
    # 代码2
    # ...
    name=input('please input your name:')
    if name=='lily':
    print('总经理')
    else:
    print('员工')
  • 语法3:

    #结构形式
    #if条件:
    # 代码1
    # ...
    #elif条件2:
    # 代码1
    # ...
    #elif条件3:
    # 代码1
    # ...
    #else:
    # 代码...
    #该结构由if条件开始运行,若符合条件则下面elif将不运行,若不符合将运行第一个elif,依次往下。
    #小练习:
    #将100分按照90-100分为A,80-90分为B,60-80分为C,60以下分为D,输入其他信息错误。
    score=input('your score:')
    score=int(score)
    if score>100:
    print('输入信息有误')
    elif score>=90: #这里没有and因为该结构形式在第一步已经将大于100的数据删选了。故不需要and score<=100
    print('A')
    elif score>=80: #
    print('B')
    elif score>=60:
    print('C')
    else:
    print('D')
  • 语法4:if的嵌套

    #结构形式
    #if 条件1:
    # if条件2:
    # 代码1
    # ...
    #实例:
    #判断一个数字能否被2和3同时整除
    num=input('请输入数字:')
    num=int(num)
    if num%2==0:
    if num%3==0:
    print('能被2和3同时整除')
    else:
    print('输入数字可以整除2,但不能整除3')
    else:
    if num%3==0:
    print('输入数字能整除3,不能整除2')
    else:
    print('输入数字不能整除3,也不能整除2')
2.流程控制while循环
  • 1.while循环

    也叫条件循环

    #while条件:
    # 代码1
    # 代码2
    # ...
    name_of_bk='dengyifan'
    pwd_of_bk=''
    tag=True
    while tag:
    inp_name=input('your name:')
    inp_pwd=input('your password:')
    if inp_name==name_of_bk and inp_pwd==pwd_of_bk:
    print('login successful')
    tag=False
    else:
    print('user name or password error')
    print('finished')
    #该循环会一直到输入正确的信息才会按条件结束

2.while+break结构

break代表结束本层循环

#例
while True:
print(1)
break
print(2)
#在pycharm中,当在break 后写代码会以颜色标识告诉你后面同层代码不会运行。
#接前一结构实例,同样可以用break 来打断程序运行
name_of_bk='dengyifan'
pwd_of_bk=''
while tag:
inp_name=input('your name:')
inp_pwd=input('your password:')
if inp_name==name_of_bk and inp_pwd==pwd_of_bk:
print('login successful')
break
else:
print('user name or password error')
print('finished')
#该循环同样也可一直运行至正确输入结束
  • 3.while+continue结构

    continue代表结束本次循环,和break有区别

    #例 顺序输出1-9
    count=1
    while count<10:
    print(count)
    count+=1
    # 若现在要剔除1-9中的3和6
    count=1
    while count<10:
    if count==3 or count==6: # 选择出3和6
    count+=1 #在此处需要写一个增值运算,否则程序运行到count==3就一直运行continue语法
    continue
    print(count)
    count += 1
    #再接前一结构实例
    #若现在须限制用户输入次数为3次
    name_of_bk='dengyifan'
    pwd_of_bk=''
    count=0
    while count<4:
    count += 1
    if count == 4:
    print('输错次数过多')
    break
    inp_name=input('your name:')
    inp_pwd=input('your password:')
    if inp_name==name_of_bk and inp_pwd==pwd_of_bk:
    print('login successful')
    break
    else:
    print('user name or password error')
    print('finished')

4.while+else结构

else的子代块只有在while循环没有break打断才会运行,else会判断while循环怎么样结束

#
顺序输出1-9
count=0
while True:
if count==10:
break
print(count)
count+=1
else:
print('else的子代块只有在while循环没有被break打断的情况下才会被执行')
#else的内容并不会运行,因为被break打断
count=1
while count<10:
print(count)
count+=1
else:
print('else的子代块只有在while循环没有被break打断的情况下才会被执行')
#可以运行出来,因为没有break打断


# name_of_bk='dengyifan'
# pwd_of_bk='1007508381'
# count=0
# tag=True
# while tag:
# if count==3:
# print('您输入的次数过多')
# break
# inp_name=input('your name:')
# inp_pwd=input('your password:')
# if inp_name==name_of_bk and inp_pwd==pwd_of_bk:
# print('login successful')
# while tag:
# print("""
# 0 退出
# 1 查看
# 2 购买
# 3 支付
# 4 撤销""")# cmd=input('>>>_:')
# if cmd=='0':
# tag=False
# continue
# elif cmd=='1':
# print('查看...')
# elif cmd=='2':
# print('购买...')
# elif cmd=='3':
# print('支付...')
# elif cmd=='4':
# print('撤销...')
# else:
# print('输入的指令有误')
# else:
# print('user name or password error')
# count+=1