• 分支,循环


    if(分支)

    if的语法

    • if 条件表达式:
    • 代码块
    • ....
    • 条件表达式的计算结果必须为布尔值
    • 为True则执行下面的代码块
    • 注意冒号以及缩进
    age = 21
    age_inp = int(input('猜一下年龄:'))
    
    if age == '21':
        print('机智')
    if age >= '21':
        print('傻逼')
    

    猜一下年龄:25
    傻逼

    if...else...

    age = 21
    age_inp = int(input('猜一下年龄:'))
    
    if age == '21':
        print('机智')
    else:
        print('傻逼')
    

    猜一下年龄:30
    傻逼

    if...elif...else

    • elif可以有很多个
    • else也可以没有
    • 但多路分支,只会执行一个
    score = int(input('请输入学生成绩:'))
    # 注意input接受的值是字符串
    if score >= 90:
        print('A')
    elif score >= 80:
        print('B')
    else:
        print('C')
    
    

    请输入学生成绩:98
    A

    if的嵌套

    • 多个if叠加使用
    • 不推荐,尽量保持代码整洁
    my_score = 98
    
    score = int(input('猜猜我的分数'))
    if score != my_score:
        if score > my_score:
            print('大了')
        elif score < my_score:
            print('小了')
    else:
        print('对了')
    

    猜猜我的分数9
    小了

    for循环

    • 用法:for 变量 in 序列:
    • 遍历
    for i in range(4):
        print(i)
    

    0
    1
    2
    3

    for-else 语句

    • 当for循环结束的时候,执行else语句
    for i in range(4):
        print(i)
    else:
        print('输出完成')
    

    0
    1
    2
    3
    输出完成

    for循环的嵌套(重要)

    • 很重要
    for i in range(3):
    	for j in range(2):
            print(i, j)
    

    0 0
    0 1
    1 0
    1 1
    2 0
    2 1

    range介绍

    • 生成一个数字序列
    • 包括左边不包括右边(Python大都是这样,randint除外)
    • range在python2和python3中有严重区别,注意
    • range中有三个参数,第一和第二个是取值区间,不填默认第一个为0,第三个是跨度,可以为负数(了解)
    for i in range (1,4):
        print (i)
    

    1
    2
    3

    while循环

    • while 条件表达式:
      • 代码块
    • 没有具体的循环次数,只要循环的条件成立,就一直循环
    my_score = 98
    
    # 无限循环
    while True:
        score = int(input('猜猜我的分数'))
        if score != my_score:
            if score > my_score:
                print('大了')
            elif score < my_score:
                print('小了')
        else:
            print('对了')
    

    猜猜我的分数65
    小了
    猜猜我的分数100
    大了
    猜猜我的分数98
    对了
    猜猜我的分数...

    capital = 5000
    year = 0
    while capital<7000:
        capital *= 1.12
        year += 1
        print(f'第{year}年,现在我有{capital}元')
    

    第1年,现在我有5600.000000000001元
    第2年,现在我有6272.000000000002元
    第3年,现在我有7024.640000000003元

    while + else

    • 当while循环没有被break掉,条件表达式的结果为False,执行else下的语句
    capital = 5000
    year = 0
    while capital<7000:
        capital *= 1.12
        year += 1
        print(f'第{year}年,现在我有{capital}元')
    else:
        print('满足了')
    

    第1年,现在我有5600.000000000001元
    第2年,现在我有6272.000000000002元
    第3年,现在我有7024.640000000003元
    满足了

    循环之break,continue, pass

    • break: 无条件结束整个循环,简称循环猝死
    • continue:无条件结束本次循环,从新进入下一轮循环
    • pass:表示略过,通常用于站位
    # 在数字1-10中找到7
    for i in range(1, 11):
        if i == 7:
            print(i)
            break
    

    7

    # 在数字1-10中,打印所有偶数
    for i in range(1, 11):
        if i%2 == 1:
            continue
        print(i)
    

    2
    4
    6
    8
    10

    # 不知道这块代码要做什么,先用pass占好位置,以免报错
    for i in range(1, 10):
        pass
    
  • 相关阅读:
    [转] jQuery 操作 JSON 数据
    [转] 8张图学习javascript
    HTML文档类型声明的坑...
    Android 应用内HttpClient 与 WebView 共享 Cookie
    李嘉诚无锡演讲
    keytool 生成 Android SSL 使用的 BKS
    LeetCode-344-反转字符串
    LeetCode-342-4的幂
    LeetCode-338-比特位计数
    LeetCode-326-3的幂
  • 原文地址:https://www.cnblogs.com/lucky75/p/10906749.html
Copyright © 2020-2023  润新知