zoukankan      html  css  js  c++  java
  • 选择结构

    单分支选择结构

    if语句单分支结构的语法形式如下:
    if 条件表达式:
      语句/语句块
    其中∶
    ①条件表达式∶可以是逻辑表达式、关系表达式、算术表达式等等。
    ②语句/语句块∶可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致

    【操作】输入一个数字,小于0则打印

    num = input("请输入一个小于10的数字:")
    if int(num)<10:
        print(num)

    条件表达式详解

    在选择和循环结构中,条件表达式的值为False的情况如下:False、0、0.0、空值None、空序列对象(空列表、空元祖、空集合、空字典、空字符串)、空range对象、空迭代对象。
    其他情况,均为True。这么看来,Python所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。

    ·条件表达式中,不能有赋值操作符“=”

    在Python中,条件表达式不能出现赋值操作符“=”,避免了其他语言中经常误将关系运算符“==”写作赋值运算符“=”带来的困扰。如下代码将会报语法错误∶
    if 3<c and (c=20):
    print("赋值符不能出现在条件表达式中")

    双分支选择结构

    if 条件表达式1:

      语句1/语句块1

    else:

      语句2/语句块2

    s = input("输入一个数字:")
    
    if int(s)<10:
        print("s是小于10的数字")
    else:
        print('s是不小于10的数字')

    三元条件运算符

    Python提供了三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如下:
    条件为真时的值  if(条件表达式)  else  条件为假时的值

    s = input("请输入一个小于10的数字")
    print(s if int(s)<10 else "数字太大")

    多分支选择结构

    if 条件表达式1:

      语句1/语句块1

    elif 条件表达式2:

      语句2/语句块2

    ……

    [else:

      语句n/语句块n]

    score = int(input("请输入分数"))
    grade = ""
    if score < 60:
        grade = "不及格"
    elif score < 80:
        grade = "合格"
    elif score < 90:
        grade = "良好"
    else:
        grade = "优秀"
    print("分数是{0},等级是{1}".format(score, grade))

    选择结构嵌套

    选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量,因为缩进量决定了代码的从属关系。语法格式如下:
    if 表达式1:
      语句块1
      if 表达式2∶
        语句块2
      else:
        语句块3
    else:
      if 表达式4∶
        语句块4

    score = int(input("请输入一个0-100之间的数字:"))
    grade=""
    if score > 100 or score < 0:
        score = int(input("输入错误!请重新输入一个0-100的数字:"))
    else:
        if score >= 90:
            grade  = "A"
        elif score >= 80:
            grade = "B"
        elif score >= 70:
            grade = "C"
        elif score >= 60:
            grade = "D"
        else:
            grade = "E"
        print("分数是{0},等级是{1}".format(score, grade))
  • 相关阅读:
    北京清北 综合强化班 Day1
    Noip2015 提高组 Day1
    Noip2016 提高组 Day2 T1 组合数问题
    2017.9.23 NOIP2017 金秋杯系列模拟赛 day1 T1
    [51NOD1103] N的倍数(鸽笼原理)
    [51NOD1420] 数袋鼠好有趣(贪心)
    [CF808A] Lucky Year(规律)
    [CF808B] Average Sleep Time([强行]树状数组,数学)
    [CF808C] Tea Party(贪心)
    [CF808D] Array Division(暴力,枚举)
  • 原文地址:https://www.cnblogs.com/shengtudai/p/13592391.html
Copyright © 2011-2022 走看看