精华内容
下载资源
问答
  • 文章目录前言多分支语句的语法多分支语句举例:1. 出嫁的条件2. 管理http服务实战脚本3. 猜数字游戏v1版本-if版本总结 前言 前面我们已经学习过单分支语句和双分支语句的使用。 双分支语句就是在单分支语句的基础上...

    前言

    前面我们已经学习过单分支语句和双分支语句的使用。 双分支语句就是在单分支语句的基础上又加了一层结果项。
    今天我们来探讨下多分支语句,顾名思义,多分支语句就是在双分支语句基础上又加了一个可能性的结果
    如果你还没有学习单双分支条件语句,建议参考下方链接学习:

    【Linux】shell脚本实战-if单双分支条件语句详解

    多分支语句的语法

    语法结构:

    if条件测试操作1 ; then
    		commands
    elif  条件测试操作2  ; then
    		commands
    elif 条件测试操作3 ; then
    		commands
    .......
    else
    		commands
    fi
    

    举例:

    if [ 你有钱 ]
      then
         我就嫁给你
    elif [ 家庭有背景 ]
      then
         也嫁给你
    elif [ 有权 ]
      then
         也嫁给你
    else
         我考虑下
    fi
    

    多分支语句的图示:
    在这里插入图片描述

    多分支语句举例:

    1. 出嫁的条件
    [root@ecs-c13b ~]# cat ifdtest1 
    #!/bin/bash
    read -p "请输入你有多少钱: " money
    read -p "请输入你有几套房子: " houses
    
    if [ $money -ge 1000000 ]   ### ge 表示大于
      then
         echo "我就嫁给你"
    elif [ $houses -ge 3 ]
      then
         echo "我也嫁给你"
    else
         echo "我考虑下"
    fi
    

    返回结果:

    [root@ecs-c13b ~]# bash ifdtest1 
    请输入你有多少钱: 100000
    请输入你有几套房子: 5
    我也嫁给你
    
    2. 管理http服务实战脚本
    [root@ecs-c13b html]# cat httpdcheck.sh 
    #!/bin/bash
    ss -lntp |grep httpd &> /dev/null
    if [ $? -eq 0 ];then
    	echo "httpd is running"
    elif [ -f /usr/local/apache/bin/apachectl -a -x /usr/local/apache/bin/apachectl ]
    ### 查看文件是否存在且是否有可执行权限
      then
        /usr/local/apache/bin/apachectl start
        #### 如果有可执行权限,且存在,就执行脚本启动
    else
      echo "没有httpd的启动脚本"
    fi
    

    返回结果:

    [root@ecs-c13b html]# bash httpdcheck.sh 
    AH00558: httpd: Could not reliably determine the server's fully qualified domain name, usingrName' directive globally to suppress this message
    [root@ecs-c13b html]# lsof -i:80
    COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    httpd   31393   root    4u  IPv6 363012      0t0  TCP *:http (LISTEN)
    httpd   31394 daemon    4u  IPv6 363012      0t0  TCP *:http (LISTEN)
    httpd   31395 daemon    4u  IPv6 363012      0t0  TCP *:http (LISTEN)
    httpd   31399 daemon    4u  IPv6 363012      0t0  TCP *:http (LISTEN)
    [root@ecs-c13b html]# bash httpdcheck.sh 
    httpd is running
    
    3. 猜数字游戏v1版本-if版本
    #!/bin/bash
    NO=20
    
    read -p "input your num: " num
    if [ $NO -gt $num ]; then   ### 判断输入的数字和原始数字的大小,gt表示大于
    	echo "你猜测的太小了"
    elif [ $NO -lt $num ]; then  ####判断输入的数字和原始数字的大小,lt表示小于
    	echo "你猜测的太大了"
    else 
    	echo "恭喜你猜对了"
    
    fi
    

    返回结果:

    [root@ecs-c13b html]# vim guess.sh
    \[root@ecs-c13b html]# bash guess.sh 
    input your num: 33
    你猜测的太大了
    [root@ecs-c13b html]# bash guess.sh 
    input your num: 1
    你猜测的太小了
    [root@ecs-c13b html]# bash guess.sh 
    input your num: 20
    恭喜你猜对了
    

    总结

    多条件语句相对单双条件语句来说,稍微困难一些,但只要稍加练习就可以熟练。

    展开全文
  • 逻辑运算符与或非二、选择结构单分支双分支结构if与else的双分支结构三元运算符的分支语句多分支选择结构选择嵌套结构三、循环结构for 与 while 循环应用举例break 与continue四、案例分析循环while的应用计算平均...

    第七课提纲

    一、条件表达式

    关系运算符

    > <

    逻辑运算符

    与或非

    二、选择结构

    单分支

    双分支结构

    if与else的双分支结构

    三元运算符的分支语句

    多分支选择结构

    选择嵌套结构

    三、循环结构

    for 与 while 循环

    应用举例

    break 与continue

    四、案例分析

    循环while的应用

    计算平均分

    分支if的应用

    计算一年的第几天

    快速筛选素数

    一、条件表达式

    1.关系运算符

    >>> print(1<2>3)False>>> print(1<3>2)True>>> if a=3:   #条件表达式不允许使用赋值运算符SyntaxError: invalid syntax>>> 1>2>xxx  #上下文不存在xxxFalse>>>

    2.逻辑运算符

    与关系运算符类似,逻辑运算符and和or具有短路求值或惰性求值的特点,可能不会对所有的表达式进行求值,而是只计算必须计算的表达式的值。以and为例,对于表达式“表达式1 and表达式2”来说,如果表达式1的值为false,则不论表达式2是什么,都不会被计算。在设计包含多个条件的条件表达式时,如果能够大概预测不同条件失败的概率,并将多个条件根据and和or运算符的短路求值特性来组织顺序,可以提高程序运行效率。
    >>> 3 and 55>>> 3 or 53>>> 0 and 50>>> not 3False>>> not 0True
    下面的函数使用指定的分隔符把多个字符串连接成一个字符串,如果用户没有指定分隔符则使用逗号。

    b8e02d07526052680e35c5b89aabc2f2.png

    图1 逻辑运算符or的使用

    输出结果为:

    '1:2:3:4:5'

    二、选择结构

    1.单分支

    单分支的表达式注意冒号和四个空格的缩进:
    #if 表达式:#语句
    >>> x=input('please input two numbers:')please input two numbers:2 6>>> a,b=map(int,x.split())>>> if a>b:a,b=b,a>>> print(a,b)2 6
    在python中,代码的缩进非常重要,缩进是体现代码逻辑关系的重要方式,同一个代码块必须保证相同的缩进量。在实际的开发中,只要遵循一定的约定,python代码的排版是可以降低要求的。例如下面,虽然不建议这样写,但是也是可以执行的:
    >>> if 3>2:print('ok')#语句较短,可以直接卸载分支语句的后面ok>>> if True:print(3);print(5)#在一行写多个语句,使用分号分隔35

    2.双分支结构

    ①if与else的双分支结构

    语法为:

    #if 表达式:#语句1#else:#语句2

    b6a7ca9d74e46b43dc42f521125d1ea6.png

    图2 鸡兔同笼问题

    >>>请输入鸡兔总数和腿的总数:5 16鸡:2,兔:3>>> ================================ RESTART ================================>>>请输入鸡兔总数和腿的总数:4 16鸡:0,兔:4>>> ================================ RESTART ================================>>>请输入鸡兔总数和腿的总数:5 17数据不正确,无解>>>

    【知识点8】 ②  三元运算符的分支语句

    Python提供了一个三元运算符,并且在三元运算符构成的表达式中还可以嵌套三元运算符,可以实现与选择结构相似的效果。

    #Value1 if condition else value2当条件表达式condition为true时,则执行value1否则执行value2.>>> a=5>>> print(6) if a>3 else print(5)6>>> print(6 if a>3 else 5)6>>> b=6 if a>13 else 9>>> b9

    8c722d324b94d1788e7d61b1f6776077.png

     图3 三元运算符的应用

    3.多分支选择结构

    语法表示为:

    #if 表达式1:#语句1#elif表达式2:#语句2#elif表达式3:#语句3#…#Else:#语句n
    def func(score):    if score >100 or score<0:        return 'wrong score.must between 0 and 100.'    elif score >=90:        return 'A'    elif score>=80:        return 'B'    elif score >=70:        return 'C'    elif score >=60:        return 'D'    else:        return 'E'

    4.选择嵌套结构

    语句如下

    #if 表达式1#语句1#if 表达式2#语句2#else:#语句3#else:#if 表达式4#语句4

    还是前面的百分之转换等级abcde的代码,可以如下编写:

    def func(score):    degree='DCBAAE'    if score>100 or score<0:        return 'wrong score.must between 0 and 100.'    else:        index=(score-60)//10        if index >=0:            return degree[index]        else:            return degree[-1]

    三、循环结构

    1.for 与 while 循环

    这两个语句的含义和别的编译语言相同,在此只举案例。下面是用循环结构遍历并输出列表中的所有元素:

    f32c9ccc60765ac6c3df2c133539d226.png

    图4 循环for的应用

    下面是用来输出1-100能被7整除但不能同时被5整除的所有整数:

    b5c783b02a41467095d674c358bba055.png

    图5 循环for的应用

    下面是用嵌套的循环结构打印九九乘法表:

    2d555d9602b3c7801e683c8942d5a20f.png

    图6 双重循环的应用

    下面使用带有else子句的循环结构来计算1+2+3+4……+100的结果:

    0684491d7bdd8bf182381051eddc7580.png

    图7 for与else一起使用

    下面是while 语句实现了同样的功能

    92f1d9c4414875d607f9adb57e2e26c9.png

    图8 while语句的使用

    使用内置函数sum也可以实现相同的功能:

    >>>sum(range(1,101))5050

    2.break 与continue

    break一旦被执行,将使得break语句所属层次的循环提前结束
    continue提前结束本次循环,忽略continue之后的所有语句,提前进入下一次循环

    四、案例分析

    1.输入若干个成绩,求所有成绩的平均分。每输入一个成绩后询问是否继续输入下一个成绩,回答yes就继续输入下一个成绩,回答no就停止输入成绩。

    numbers=[]while True:    x=input('请输入一个成绩:')    try:        numbers.append(float(x))    except:        print('不是合法的成绩')while True:    flag=input('继续输入吗(yes/no)').lower()    if flag not in ('yes','no'):        print('只能输入yes或no')    else:        break    if flag=='no':        break print(sum(numbers)/len(numbers))>>>请输入一个成绩:1继续输入吗(yes/no)yes请输入一个成绩:5继续输入吗(yes/no)yes请输入一个成绩:3继续输入吗(yes/no)no3.0>>>

    2.编写程序,判断今天是今年的第几天

    import timedate=time.localtime()year,month ,day=date[:3]day_month=[31,28,31,30,31,30,31,31,30,31,30,31]if year%400==0 or(year%4==0 and year%100!=0):    day_month[1]=29if month ==1:    print(day)else:    print(sum(day_month[:month-1])+day)

    3.如何快速判断一个数字是否是素数?

    n=input('input an integer:')n=int(n)if  n==2:    print('Yes')elif n%2==0:    print('No')#偶数必然不是素数else:#大于5的素数必然出现的6的倍数的两侧#因为6x+2,6x+3,6x+4肯定不是素数,假设x为大于1的自然数    m=n%6if m!=1 and m!=5:    print('No')else:    for i in range(3,int(n**0.5)+1,2):        if n%i==0:            print('No')            break    print('Yes')
    展开全文
  • 双分支结构的语法格式如下: if 条件表达式 : 语句 1/语句块 1 else: 语句 2/语句块 2 三元条件运算符: "条件为真时的值" if (条件表达式) else "条件为假时的值" num1 if (条件表达式) else num2 解释:条件...

    双分支结构的语法格式如下:
    if 条件表达式 :
        语句 1/语句块 1
    else:
        语句 2/语句块 2

    三元条件运算符:
    "条件为真时的值" if (条件表达式) else "条件为假时的值"
    num1 if (条件表达式) else num2
    解释:条件表达式为真时,输出num1,条件表达式为假时,输出num2


    举例:
    s=input("请输入一个数:")
    if int(s)<10:
        print("s是小于10的数字")
    else:
        print("s是大于或等于10的数字")
        
    print("s是小于10的数字" if int(s)<10 else "s是大于或等于10的数字")

    结果:
    请输入一个数:25
    s是大于或等于10的数字
    s是大于或等于10的数字

    展开全文
  • if case语句if语句结构单分支if语句结构单分支举例双分支if语句结构双分支举例多分支if语句结构多分支举例case语句case多分支结构case多分支举例 if语句结构 单分支if语句结构 if语句结尾都要接入一个对应fi,代表...

    if语句结构

    单分支if语句结构

    if语句结尾都要接入一个对应fi,代表该段语句结束

    if单分支结构的判断过程

    if  条件测试操作
            then    命令序列
    fi    #结尾语句
    

    单分支举例

    在这里插入图片描述

    双分支if语句结构

    if       条件测试操作
           then    命令序列1
           else     命令序列2
     fi    #结尾语句
    

    双分支举例

    在这里插入图片描述

    多分支if语句结构

    if      条件测试操作1
          then    命令序列1
    elif 条件测试操作2
          then    命令序列2
    else
          命令序列3
    fi
    

    多分支举例

    在这里插入图片描述

    case语句

    case多分支结构

    case行尾必须为单词“in”;每一个模式必须以右括号“)”结束

    双分号“;;”表示命令序列的结束

    模式字符串中,可以用方括号来表示一个连续的范围,如“[0-9]”;还可以用“|”来表示,如“A|B”

    最后的“*)”表示默认模式,星号相当于通配符

    case多分支结构的判断过程

    case 变量值 in
    模式1)
          命令序列1
          ;;
    模式2)
          命令序列2
          ;;
          ......
    *)
         默认命令序列
    esac
    

    case多分支举例

    #!/bin/bash
    read -p "输入测试分数(0-100) : " score
         if [ $score -le 100 -o $score -ge 0 ];then
            if [ $score -le 100 -o $score -ge 60 ];then
               [[ $score -ge 80 && $score -le 100 ]] && a="nice"
               [[ $score -ge 60 && $score -lt 79 ]] && a="good"
               [[ $score -ge 0 && $score -lt 59 ]] && a="oh!"
               case $score in
               great)
    	           echo " $score分,棒 "
                   ;;
               standard)
                   echo " $score分,可! "
                   ;;
               false)
    	           echo "$score分,拉! "
               esac
          else
               echo "重新输入"
    fi
    
    展开全文
  • 目录一、 掌握表达式测试包括字符串测试、... 掌握if条件语句if单分支举例单分支if语句格式if单分支实例if双分支举例双分支if语句格式if双分支实例一if双分支实例二多分支if语句举例if多分支语句案例语法规范2. 掌握c
  • 流程控制语句

    2019-03-08 14:28:28
    流程控制语句 概念:选择结构语句指的就需要对一些条件作出判断,从而决定执行指定的代码 if单分支语句 if…else语句 if…elseif…else语句 switch语句 1.if单分支语句 ...概念:if…else语句也称为双分支...
  • 流程控制流程:计算机执行代码的...选择结构(分支结构)分类:单分支结构、双分支结构、多分支结构、巢状结构(嵌套结构)单分支结构:格式:if 判断条件:条件成立时,要执行的操作举例:注意:1、if条件表达式结果为...
  • 选择结构语句 一、if单分支语句 概念:if条件判断语句也被称为单分支语句,当满足...概念:if…else语句也称为双分支语句,当满足某种条件时,就进行某种处理,否则进行另一种处理。 举例:判断一个学生的年龄,大于...
  • Shell编程的条件语句

    2020-10-26 00:13:56
    条件测试1.1:文件测试1.1.1:test命令1.1.2:文件测试**整数测试**字符串与逻辑测试逻辑测试一元运算符,二元运算符和三元运算符举例二:if语句2.1:if单分支语句单分支结构(基本格式)if双分支语句if多分支语句...
  • 1、顺序结构 定义: 程序 从上到下逐行地执行, 中间没有任何判断和跳转。 举例:两整数求和 #include<stdio.h> int main(){ int x,y,sum; printf("请输入两个正数",\n);
  • 十四、Shell编程6 -- 流程控制if语句 1 单分支if条件语句 举例1: 返回结果: 举例2: 2 双分支if条件语句 3 多分支if条件语句 举例: 结果: ...
  • 文章目录前言(if语句的三种基本类型)一、单分支的if语句1.1、语法格式1.2、单分支的应用举例二、双分支的if语句2.1、 语法格式2.2、 双分支的应用举例三、多分支的if语句3.1、语法格式3.2 、 多分支的应用举例注意...
  • if 双分支结构3. if条件多分支二、for条件循环语句 编写shell脚本通常少不了流程空语句,虽然简单,还是梳理一下吧。 一. if条件测试语句 1. if 单分支结构 举例: 判断/media/cdrom 文件是否存在,若存在就...
  • 1. 单分支if条件语句 书写方式1: if [ 条件判断式 ]; then  执行程序代码 fi 书写方式2: if [ 条件判断式 ]  then  执行程序代码 ...举例: ...2. 双分支if条件语句 if [ 添加判断式 ]  then ...
  • 格式1:双分支结构  if (条件表达式)  语句1; else  语句2;  如果条件表达式为真,执行语句1,否则执行语句2。执行多条语句时,用括号括起来 举例:判断一个数是否为两位数  输入一个整数,判断如果...
  • 条件测试举例、判断文件在不在,目录在不在,并生成相应的目标文件、判断内存大小,低于100M就进行邮件报警、 Shell双分支if条件语句、判断数的大小
  • 1 程序控制结构 Part 分支结构 循环结构 1 分支结构 1. 单分支结构 if语句是最基本最平常的分支... 双分支结构 语法格式1 if(条件表达式) 语句1 else 语句2 语法格式2 if(条件表达式){ 语句块1 }else{ 语句块2 } 举例
  • java逻辑控制

    2021-01-02 19:30:40
    双分支: if(布尔表达式){ 语句块; }else{ 语句块; } 多分支: if(布尔表达式){ 语句块; } else if{ 语句块; } else{ 语句块; } switch语句 switch(整数/枚举/字符/字符串){ case 内容1 : { 内容满足时...
  • if语句 单分支结构 if 条件: 代码块 ...双分支结构 if 条件: 代码块 else: 代码块 多分支结构 if 条件: 代码块 elif: 代码块 else: 代码块 分支嵌套: 举例 score = 70 if sco...
  • 1)if条件控制语句的作用?...2)if的结构语法 单分支 if then fi 双分支 if then else fi 多分支 if then elif then else fi3)应用范围 判断企业服务是否正常运转 举例判断lftp是否安装若没安装则安装vi in...
  • shell脚本是我们学习运维的难点,本篇内容简单举例shell脚本的进阶上篇,有任何技术上的指导,知识上的不足都欢迎指出...fi双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi多分支 if 判断...
  • 1. Javascript 流程控制 用于“基于不同条件执行不同的动作”的场合 1.1 if 语句 三种形式 // 第一种 ...双分支 多分支 注意 else if 中间必须要有空格 对第二种形式举例 if(1+1=2){ c...
  • Shell语法中的循环

    2019-03-12 17:41:03
    if判断语句single branch(单分支)命令格式:ifcommand;then actionfi举例:#!/bin/shif[!-e/etc/my.cnf];then touch/etc/my.cnffi解析说明:如果/etc/my.cnf不...dual branch(双分支)命令格式:ifcommand1;the...
  • if语句就是选取要执行的结果,if 后面若无其他条件则为单分支,若有一个else则为双分支,若有多个elif以及一个最终可选的else则为多分支。python会执行第一个计算结果的代码(遵循顺序结构),如果之前的条件都不...
  • if函数语法:if(条件,值1,值2)功能:实现双分支。如果条件满足则返回值1,否则返回值2应用范围:在begin end中或外面应用举例:SELECT IF(a&gt;b,'a大','b大') from xx;----------2. case结构case结构有很多种...
  • 从程序流程的角度来看,程序可以分为三种基本结构, 即顺序结构、分支结构、循环结构。 这三种基本结构可以组成所有的各种复杂程序。C语言提供了多种语句来实现这些程序结构。 本章介绍这些基本语句及其应用,使...
  • 3.9 多分支选择结构和switch语句 3.10 编写选择结构的程序 3.11 循环结构和循环语句 3.11.1 用while语句构成循环 3.11.2 用do-while语句构成循环 3.11.3 用for语句构成循环 3.11.4 几种循环的比较 3.12 循环的嵌套 ...
  • 3.9 多分支选择结构和switch语句 3.10 编写选择结构的程序 3.11 循环结构和循环语句 3.11.1 用while语句构成循环 3.11.2 用do-while语句构成循环 3.11.3 用for语句构成循环 3.11.4 几种循环的比较 3.12 循环的嵌套 ...

空空如也

空空如也

1 2 3 4
收藏数 76
精华内容 30
关键字:

双分支语句举例