• if判断,while循环,for循环


    if判断

    if判断其实就是让计算机模拟人的判断

    if

    if 条件:
        代码1
        代码2
        代码3
        ...
    # 代码块(同一缩进级别的代码,例如代码1、代码2和代码3是相同缩进的代码,这三个代码组合在一起就是一个代码块,相同缩进的代码会自上而下的运行)
    

    if...else

    if...else表示if成立代码成立会干什么,else不成立会干什么。

    if 条件:
        代码1
        代码2
        代码3
        ...
    else:
        代码1
        代码2
        代码3
        ...
    

    if...elif...else

    if...elif...else表示if条件1成立干什么,elif条件2成立干什么,elif条件3成立干什么,elif...否则干什么。

    练习1:成绩评判
    • 如果 成绩>=90,打印"优秀"
    • 如果 成绩>=80 并且 成绩<90,打印"良好"
    • 如果 成绩>=70 并且 成绩<80,打印"普通"
    • 其他情况:打印"差"
    # 成绩评判
    score = input("your score: ")
    score = int(score)
    
    
    if score >= 90:
        print('优秀')
    # elif score >= 80 and score < 90:
    elif score >= 80:
        print('良好')
    # elif score >= 70 and score < 80:
    elif score >= 70:
        print('普通')
    else:
        print('差')
    

    if的嵌套

    # if的嵌套
    cls = 'human'
    gender = 'female'
    age = 18
    is_success = False
    
    if cls == 'human' and gender == 'female' and age > 16 and age < 22:
        print('开始表白')
        if is_success:
            print('那我们一起走吧...')
        else:
            print('我逗你玩呢')
    else:
        print('阿姨好')
    

    while循环

    循环就是一个重复的过程,我们人需要重复干一个活,那么计算机也需要重复干一个活。

    while 条件
        code 1
        code 2
        code 3
        ...
    
    

    while+break

    break的意思是终止掉当前层的循环,执行其他代码。

    while True:
        user_db = 'nick'
        pwd_db = '123'
    
        inp_user = input('username: ')
        inp_pwd = input('password: ')
        if inp_user == user_db and pwd_db == inp_pwd:
            print('login successful')
            break
        else:
            print('username or password error')
    
    print('退出了while循环')
    

    while+continue

    continue的意思是终止本次循环,直接进入下一次循环。

    continue不能加在循环体的最后一步执行的代码,因为代码加上去毫无意义

    while循环的嵌套

    # 退出双层循环的while循环嵌套
    while True:
        user_db = 'nick'
        pwd_db = '123'
    
        inp_user = input('username: ')
        inp_pwd = input('password: ')
    
        if inp_user == user_db and pwd_db == inp_pwd:
            print('login successful')
    
            while True:
                cmd = input('请输入你需要的命令:')
                if cmd == 'q':
                    break
                print(f'{cmd} 功能执行')
            break
        else:
            print('username or password error')
    
    print('退出了while循环')
    
    tag控制循环的退出
    # tag控制循环退出
    tag = True
    while tag:
        user_db = 'nick'
        pwd_db = '123'
    
        inp_user = input('username: ')
        inp_pwd = input('password: ')
    
        if inp_user == user_db and pwd_db == inp_pwd:
            print('login successful')
    
            while tag:
                cmd = input('请输入你需要的命令:')
                if cmd == 'q':
                    tag = False
                print(f'{cmd} 功能执行')
        else:
            print('username or password error')
    
    print('退出了while循环')
    

    while+else

    while+else:else会在while没有被break时才会执行else中的代码。

    for循环

    for循环字典会取出key值

    info = {'name': 'nick', 'age': 19}
    
    for item in info:
        # 取出info的keys
        print(item)
    

    for循环range,包含1但是不包含10

    print(list(range(1, 10)))
    
    # for循环按照索引取值
    name_list = ['nick', 'jason', 'tank', 'sean']
    # for i in range(5):  # 5是数的
    for i in range(len(name_list)):
        print(i, name_list[i])
    
    for+break

    for循环调出本层循环

    # for+break
    name_list = ['nick', 'jason', 'tank', 'sean']
    for name in name_list:
        if name == 'jason':
            break
        print(name)
    
    for+continue

    for循环跳出本次循环,进入下一次循环

    # for+continue
    name_list = ['nick', 'jason', 'tank', 'sean']
    for name in name_list:
        if name == 'jason':
            continue
        print(name)
    

    for循环嵌套

    # for循环嵌套
    for i in range(3):
        print(f'-----:{i}')
        for j in range(2):
            print(f'*****:{j}')
    

    for+else

    for循环没有break的时候触发else内部的代码块

    # for+else
    name_list = ['nick', 'jason', 'tank', 'sean']
    for name in name_list:
        print(name)
    else:
        print('for循环没有被break中断掉')
    

    练习题

    1.猜年龄游戏升级版,有以下三点要求:

    1. 允许用户最多尝试3次
    2. 每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
    3. 如果猜对了,就直接退出
    n=0
    age=23
    while n<4:
        guess_age=int(input(f'请猜年龄,还有{3-n}次机会:'))
        if guess_age==age:
            print('猜对了!退出程序哦~')
            break
        else:
            print('猜错了!')
            n=n+1
            if n==3:
                conf=input('你猜错了三次,还要继续再猜吗?')
                while 1:
                    if conf=='y' or conf=='Y':
                        n=0
                        break
                    elif conf=='n' or conf=='N':
                        print('不猜了,退出程序')
                        n+=1
                        break
                    else:
                        conf=input('输入错误,不继续请输入n或者N,继续请输入y或者Y')
    

    2.打印99乘法表

    for i in range(1,10):
        for j in range(1,i+1):
            print(f"{i},*,{j},=,{i*j}",end='  ')
        print()
    

    3.打印如下所示金字塔:

    '''
                 # 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 i in range(1,max_level+1):
        current_level=i
        blank=max_level-current_level
        star=2*current_level-1
        print(' '*blank,'*'*star)
    
  • 相关阅读:
    函数
    大对象数据LOB
    【缓冲流、转换流、序列化流】
    【字节流、字符流】
    【File类、递归】
    【缓冲流、转换流、序列化流】
    vee-validate的使用
    微信小程序第三方授权登录
    新电脑搭建vue项目步凑
    移动端300ms延迟问题和点击穿透问题
  • 原文地址:https://www.cnblogs.com/zhoajiahao/p/10908050.html
Copyright © 2020-2023  润新知