精华内容
下载资源
问答
  • 一.shell中的for循环1.for循环的语法格式shell中的 for 循环中...常用的for循环结构有三种:粗略的结构:for 条件do循环主体done<1>语法一:for 变量 in 值1 值2 值3...do循环主体done或者for 变量 in {起始值...

    一.shell中的for循环

    1.for循环的语法格式

    shell中的 for 循环中可以使用 break 和 continue 关键字来跳出循环, 和java 用法一致。

    常用的for循环结构有三种:

    粗略的结构:

    for    条件

    do

    循环主体

    done

    <1>语法一:

    for   变量    in   值1  值2   值3...

    do

    循环主体

    done

    或者

    for   变量    in   {起始值..终止值}                  #这里面的起始值和终止值必须是纯数字,不能是$a,即不能是变量的值

    do

    循环主体/命令

    done

    示例1:

    89eb34ead1da2e60ce21fbf2274e5ae3.png

    594a3fffd189fd0397fdd6543da0655d.png

    示例2:

    626dd5d2c9a982994c97c6905c569b8a.png

    d222bbca3ec368b92fd175ead68194cc.png

    <2>语法二:

    for   变量    in     `命令`

    do

    循环主体

    done

    示例3:

    5c78e419ae550312f38eae16afd94c3c.png

    9dc58b4b8ec157503fc92ee4259f1d5b.png

    <3>语法三:

    for   ((初始值;循环控制;变量变化))

    do

    循环主体

    done

    示例4:

    1a765adebea42582cf5e470152d6609d.png

    e8e19200787223e16127195e5658ac3f.png

    2.for的嵌套循环

    1b9f5aa9526b389a8ccf281ae677f47b.png

    5734337d04541e87155f8769fd0ce211.png

    3.for循环的练习题

    <1>练习1:编写脚本测试172.25.254网段中的主机网是否是通的。

    如果是通的,就显示172.25.254.主机号  is up;如果是不通的,就显示172.25.254.主机号  is  down。

    脚本内容

    670af8afe011696fe76dad611a23011c.png

    脚本运行结果

    41d0d3e44d930251e2ae766ffcb85938.png

    <2>练习2:编写脚本实现倒计时10秒。

    显示 Time   秒数

    脚本内容

    d5d120e7cfb5fdd70d97cf04c3fb0952.png

    脚本运行结果

    ae4ad5e6527df911a553d140199c8412.png

    <3>练习3:编写脚本实现从输入的分钟数和秒数开始改进行时间的倒计时。

    显示 Time   分钟:秒

    方法一:将分钟数化为秒数

    脚本内容

    #!/bin/bash

    read   -p   "请输入分钟数和秒数:"   a   b

    let   time=$a*60+$b

    #for   i   in   {$time..1}                  #这行代码的写法是错误的。{起始值  终止值},这里的起始值和终止值都必须是纯数字,不能写成某个变量的值

    for   ((i=$time;i>0;i--))

    do

    echo   -n   "TIME   `expr   $i  /  60`:`expr   $i  %  60` "

    echo   -n   -e   "\r"

    sleep   1

    done

    c8eb9faf289a34517ad980a9a8e75171.png

    脚本运行结果

    2eb0b4089c3a52afe12f30d5104e787c.png

    方法二:利用for双循环实现

    脚本内容

    70ee59079e832bb3c132aa6cef445c5c.png

    脚本运行结果

    434cb7562f788e83fd4c2dd5950e0a7f.png

    <4>编写脚本实现打印9*9乘法表。

    显示1*1=1

    2*1=2   2*2=4

    .................................

    写法一:

    脚本内容

    d7f61345adcec02d0a9c364330e60261.png

    脚本运行结果

    b4fd9daaaafe624c1dffb04a26dd9ebb.png

    写法二:

    脚本内容

    dc5b64411fbf85d1bacf0b26a53b341f.png

    脚本运行结果

    bbaafc8a4b758aa9fe54eaf2617dc8ba.png

    二.shell中的while循环

    1.while循环的语法格式

    for循环适用于事先知道循环的次数,对于实现不知道循环的次数,for循环将会束手无策。而while循环可以解决实现不知道循

    环次数这类问题。对于事先知道循环次数的问题,for循环和while循环是相通的,for循环能解决的问题,while循环也可以解决。

    常用的while循环的结构有三种:

    粗略的结构:

    while   条件

    do

    循环主体

    done

    <1>语法一:

    初始值

    while  [  条件判断语句  ]

    do

    循环主体

    变量变化                   #这里变量变化的方式有两种,一种是((a++)),另外一种是a=`expr  $a  +  1`

    done

    示例1:

    75720a9fe68a9a6e8f5e36c52ef191d4.png

    090c76f79f70605de24a72eb56012e27.png

    <2>语法二:

    初始值

    while  ((条件判断语句))

    do

    循环主体

    变量变化                                   #这里变量变化的方式有两种,一种是((a++)),另外一种是a=`expr  $a  +  1`

    done

    示例2:

    35bebb9d6076ae41b23ca60c6d9d87e9.png

    91a71acc577dc9b27d4dafa0672f09dd.png

    <3>语法三:死循环(不同于for循环的地方,能解决实现不知道循环次数的问题的原因所在)

    while   true

    do

    循环主体

    done

    示例3:

    044a48ced358c0897295fc6d7ea046ff.png

    fa57516fa05bc1c4727f7dcd9aa3977d.png

    2.while循环的练习题

    编写一个脚本,使用while循环语句新建用户xin{1..20},并且设置这些用户的密码都为"123456"

    脚本内容

    355b48e24735a79c9fad0fbcba7fb76c.png

    脚本执行结果

    79432d3fafaa39d10accb6ff1236c347.png

    三.shell中的if条件判断(else语句是可以没有的)

    1.if条件判断的语法格式

    常用的if条件判断有三种结构:

    <1>单分支if语句

    if    条件判断;then                    #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句

    语句体

    fi

    示例1:

    595522d88bb2f7fe93ce653506b04aa4.png

    68850d346dcbc354bf5354d7dc969017.png

    <2>双分支if语句

    if    条件判断;then                    #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句

    语句体1

    else

    语句体2

    fi

    示例2:

    b3a6a304d03c21366f75921f63bbf460.png

    da725cd75adc18152b4bdaf87acf4ba9.png

    <3>多分支if语句

    if    条件判断;then                   #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句

    语句体1

    elif 条件判断;then#其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句

    语句体2

    elif 条件判断;then #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句

    语句体3

    ...                         #表示可以有多个

    else

    语句体...

    fi

    示例3:

    1935e9fbef51affd2ab5d946d73e7dea.png

    a21562022d7b792567ec87236adad7cf.png

    四.shell中的case条件判断(*)语句是可以没有的)

    1.case条件判断的语法格式

    case条件判断适用于需要进行多重分支的应用情况。case条件判断只针对于条件判断是某个(单个匹配模式)或某些(合并

    匹配模式)具体的情况而不是一个无限的区间(比如0

    个)。对于条件判断是某个(单个匹配模式)具体的情况,case条件判断能实现的效果,if条件判断也可以实现同样的效果。

    case语句结构特点如下:

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

    双分号";;"表示命令序列结束。

    匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或。

    最后的“*)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后的命令序列。

    常用的case条件判断的结构有两种:

    <1>语法一:单个匹配模式

    case   $变量名    in

    模式1)

    命令序列1

    ;;

    模式2)

    命令序列1

    ;;

    .....                          #表示可以有多个

    *)

    默认执行的序列

    ;;

    esac

    示例1:

    e6ce9a571812a63cb9c4df456d77ee85.png

    aa9735648c268f33cf8a9fdb61ee4621.png

    <2>语法二:合并匹配模式

    case   $变量名    in

    模式1|模式2|模式3|......)              #......表示可以有多个

    命令序列1

    ;;

    模式4|模式5|.......)                      #......表示可以有多个

    命令序列1

    ;;

    .....                          #表示可以有多个

    *)

    默认执行的序列

    ;;

    esac

    示例2:

    afee51c6071d44269823bab79b3efb09.png

    814c8b5a8ce8a0b8e10d6fccfa170741.png

    2.case条件判断的练习题

    编写脚本,实现交互式执行对应的程序功能

    https://www.jb51.net/article/43968.htm

    第一种写法:(使用echo打印)

    脚本内容

    6fe979bab43079e330cf6aa9ba4ad4aa.png

    fb5019b22537f0db7aaeff781cdf8420.png

    脚本执行结果

    3c712f32a0cf3e288ec0b28c2ac93b28.png

    45058efe2db75705cc55d115ce5e811e.png

    第二种写法:(使用awk命令中的print打印)

    脚本内容

    2a969c5c9ec4ca62c38e530ca822c12e.png

    e19fda7dad12ded279fbf759a1598a96.png

    脚本运行结果

    9baaa05569592e7d0f9fd3f21f41dfdc.png

    030019bb438dd9dd1dd1b986988e132b.png

    所有写法汇总:

    4b0fd350ab9d1e0c8a5f2360e7b54fe0.png

    2ac3fe008e2e50f482e12c04a70f3912.png

    脚本运行结果:

    8ad092cc4df1e1ab2a01efb0b3c1f281.png

    展开全文
  • 1、while循环条件 n的值就是条件,执行完之后, n的值会减一,下一次n就会变成n-1了, 所以每次n都会比上一次小1。当n==0时循环跳出。 对于while()语句只要括号里的不为零就执行其后面的语句 所以只有当n=0时...

    1、while循环条件,代替break

    i----i  单独写一行时  是同样的效果的 
    
    n的值就是条件,执行完之后,
    
    n的值会减一,下一次n就会变成n-1了,
    
    所以每次n都会比上一次小1。当n==0时循环跳出。
    
    对于while()语句只要括号里的不为零就执行其后面的语句 所以只有当n=0时结束循环
    
    每循环一次n自减一次,直到n==0跳出循环(先循环,再自减)
    
    

    2、测试

    1、i - -

    1、i--的值就是i
    2、执行逻辑代码的时候i已经减13、i--就是先返回i,再--
    4、i--取的其实是i的值,当i=1的时候,判断的时候i--,console的时候打印出0**
    

    在这里插入图片描述

    if里面
    

    在这里插入图片描述

    2、- - i

    1--i,判断的时候就是取的--后的i
    2--i是先计算值,再返回i
    

    在这里插入图片描述

    展开全文
  • 3 条件语句、while循环和for循环 流程控制语句:一个程序的默认执行流程是从上往下从左往右依次执行 3.1 if判断语句 (1)if:判断是否为真,对不同的事物做校验if 例: weather = 'sunny' if weather=='rain':...

    3 条件语句、while循环和for循环

    流程控制语句:一个程序的默认执行流程是从上往下从左往右依次执行

    3.1 if判断语句

    1if:判断是否为真,对不同的事物做校验if

    例:

    weather = 'sunny'

    if weather=='rain':

          print('在家学习')

    2if……else

    例:

    weather = 'sunny'    #sunny必须加单引号

    if weather=='rain':   #此处用双等于号,且要加冒号注意:=是赋值,==判断是否相等

          print('在家学习')  #print要缩进,不与if齐平

    else:

          print('出去浪')

    3if……elif:同一个事物多次校验

    if 判断条件:

      为真执行,判断结束

    elif 判断条件:

      为真执行,判断结束

    else:     #加冒号

      否则执行

    4三目运算可用于简单if判断

    例:                                          

    a=6                                         a=6

    if a>5:                                       print(True if a>5 else False)

          print(True)

    else:

    print(False)

    例:

    a=5                                         a=5

     b=6                                         b=6

    max_num=a if a>b else b                        print(a) if a>b else print(b)

    print(max_num)                     

    3.2 逻辑运算

    (1)常见判断符

    >

    <

    >=

    <=

    ==

    !=

    大于

    小于

    大于等于

    小于等于

    等于

    不等于

    1. 逻辑:当需要同时判断多个内容的时候,可以使用 与、或、非 等逻辑来同时判断多个条件。

    and

    全部为True才为True 否则是False

    or

    只要有一个为True结果就是True

    not

    not True为False,not False为True

    这里比较运算符的返回结果指的都是bool型。

    (3)逻辑短路

    逻辑运算过程中,如果已经能够得到最后的值,则不会再进行后面的判断,这个称为逻辑短路。

    例:a=3

    a>4 and b>1

    False       

    在这个例子中,前者为False,无论后者是否为True,结果都为False,因此后面的判断就不会再运行,直接返回False。

    当用and连接时,只需判断前者是否为False。

    当用or连接时,只需判断前者是否为True。

    3.3 while循环语句:无指定次数  

    1while +else循环

    使用 while 循环要注意:循环一定能够停止,如果没有控制判断条件(或者判断条件不存在False的可能)就成为了死循环。

    while +else循环,当循环正常结束时,就会执行else 内的代码。

    例:run_num=1

    while run_num<=5:

        print('一个老师跑步,现在是第%s圈'%run_num)

        run_num+=1       #run_num=run_num+1

    else:

        print('锻炼完成')

    print('程序结束')

     (2)while+Ture循环,内部就必须要使用break来终止循环,使用break终止的循环时,不会执行else的内容。

    例:a=1

    while True:

        if a%5==0:

            break

        print(a)

        a+=1

    else:

        print('循环结束')

    总结:while循环停止有两种情况,判断条件为False,或使用break关键字终止

    3.4 for循环:有指定次数

    迭代循环和计数循环,可以迭代(遍历)多个元素的数据,得到它们的每一个元素。

    3.4.1 代码:

    for 变量 in 要迭代的元素:   #迭代:依次获取每一个元素。

    如果元素能够继续进行迭代,执行缩进里面的代码。

    重点:for循环的循环次数由要迭代的元素个数决定;for循环会把每一个元素获取到,赋值给定义的变量。

    例:a='python'

    for i in a:

      print(i)

    3.4.2 range函数:可以获取到一个范围内的整数。

    range(结尾): 举例range(10) ——0-9     #编程中一般是从0开始的

    range(开头,结尾):举例range(1,7) ——1-6

    range(开头,结尾,步长):举例range(0,10,2) ——02468

    注意:含开头,不含结尾

    例:for i in range(10):

        print(i,end=',')   #print里面的end可以设置每个值打印之后输出的字符串,默认是换行.

    取值为:0,1,2,3,4,5,6,7,8,9

    3.4.3 for循环和while循环的区别:

    1.while 循环它的执行,由条件语句控制,为True,当不知道要执行多少次的时候,用while;

    例:print('游戏开始')

    while 'exit'!=input('请选择功能:'):

        print('冲冲')

    else:

        print('退出游戏')

    2.for循环由元素个数控制,有指定次数,或者要获取到每一个元素的时候用for。

    3.5 continue

    会跳过本次循环,即结束本次循环,进入下一个循环。

    例:只要数字能够整除3就跳过

    for i in range(1,101):

        if i%3==0:

            continue

        else:

            print(i,end=',')

    展开全文
  • 正确的选项是(增加推荐的顺序排列):# Single POSIX test command with -o operator (not recommended anymore).# Quotes strongly recommended to guard against empty or undefined variables.while [ "$stats" -...

    正确的选项是(增加推荐的顺序排列):

    # Single POSIX test command with -o operator (not recommended anymore).

    # Quotes strongly recommended to guard against empty or undefined variables.

    while [ "$stats" -gt 300 -o "$stats" -eq 0 ]

    # Two POSIX test commands joined in a list with ||.

    # Quotes strongly recommended to guard against empty or undefined variables.

    while [ "$stats" -gt 300 ] || [ "$stats" -eq 0 ]

    # Two bash conditional expressions joined in a list with ||.

    while [[ $stats -gt 300 ]] || [[ $stats -eq 0 ]]

    # A single bash conditional expression with the || operator.

    while [[ $stats -gt 300 || $stats -eq 0 ]]

    # Two bash arithmetic expressions joined in a list with ||.

    # $ optional, as a string can only be interpreted as a variable

    while ((stats > 300)) || ((stats == 0))

    # And finally, a single bash arithmetic expression with the || operator.

    # $ optional, as a string can only be interpreted as a variable

    while ((stats > 300 || stats == 0))

    一些注意事项:

    引用内部[[ ... ]]和((...))的参数扩展是可选的;如果变量没有设置,-gt和-eq将承担0.1

    使用$里面((...))可选的值,但使用它可以帮助避免无意的错误。如果stats未设置,则((stats > 300))将假定为stats == 0,但(($stats > 300))将产生语法错误。

    展开全文
  • while 循环格式:while 条件 为 True:代码块while True:rayn_age = 18age = input('请输入你的年龄:')age = int(age)if age == rayn_age:print('恭喜你答对了')elif age > rayn_age:print('猜大了')else:print('...
  • I have a method that does a lot of checking and computation and returns a custom class, returnMessage. returnMessage has 2 booleans and a ... What I want to do is run this method in a while loop f...
  • coffee)预先检查每个最小值,然后使用range方法创建一个循环:min_val = min(moneyihave, coffee)for i in range(0, min_val):print(i) # Goes from 0 to min_val我建议您另一种方法是直接在while语...
  • 条件判断和while循环条件判断条件判断语句(if语句)input() 函数if-else语句if-elif-else 语句循环控制while语句break和continuewhile循环嵌套作业 条件判断 条件判断语句(if语句) 执行的流程: if语句在执行时,会...
  • getchar()在while循环里面的问题

    千次阅读 2021-05-20 09:30:41
    getchar()是C语言里一个字符输入函数,当它被调用的时候会从当前的文本流中读取一个字符, 并将其结果返回,我们看下面的一段程序...while ((c = getchar()) != EOF) {++n;}printf("\"n\" = %d\n", n);return 0;}注...
  • Java While循环 do-while循环用法

    千次阅读 2021-03-10 03:57:04
    它的基本用法是:while (条件表达式) {循环语句}// 继续执行后续代码while循环在每次循环开始前,先会判断条件是否成立。如果计算结果为true,就把循环体内的语句执行一遍,如果计算结果为false,那就直接跳到while...
  • 2、两种循环在结构死循环时的区别:while循环里的条件被看成表达式,因而,当用while结构死循环时,里面的TRUE实践上被看成永远为真的表达式,这种状况容易产生混杂,有些工具软件如PC-Lint就会以为出错了,因而结构...
  • python中的while循环

    2021-01-11 22:16:37
    程序的三大流程在程序开发中,一共有三种流程方式:顺序 —— 从上向下,顺序执行代码 分支 —— 根据条件判断,决定执行代码的 分支 循环 —— 让 特定代码 重复 执行02. while 循环基本使用循环的作用就是让 指定...
  • 在实际生活中经常会将同一件事情重复做很多次,比如在走路时,会重复使用左右脚,打乒乓球时,会重复挥拍的动作等。同样在C语言中,也经常...while循环语句while循环语句和条件判断语句有些相似,都是根据条件判断来...
  • while循环开始后,先判别条件能否满足,假如满足就执行循环体内的语句,执行终了后再回来判别条件能否满足,如此无限反复;直到条件不满足时,执行while循环后边的语句。简单来讲就是说while循环是先判别后循环, ...
  • 条件语句和while循环

    2021-03-26 20:44:01
    程序执行三大流程 顺序执行 选择执行 循环执行 选择执行: if 如果 判断条件 =为赋值 ==为判断是否相等 !=为 不等 三目运算 为真的时候执行 if 判断表达式 else 为假 逻辑运算 与(两者条件为真且为真)或(两者有一...
  • 关于while循环终止循环的三种方式

    千次阅读 2021-11-03 21:16:02
    1、不满足while循环条件,直接跳出循环; 2、利用break:break是跳出整个循环,直接执行跳出循环后的下面的代码; 3、利用continue:continue是终止当次循环,不执行下面的代码,直接进入下一次循环 ...
  • Python5条件判断语句与while循环

    千次阅读 2020-12-20 11:02:15
    条件判断语句(if语句)执行的流程:if语句在执行时,会先对条件表达式进行求值判断,如果为True,则执行if后的语句如果为False,则不执行语法:if 条件表达式 :代码块代码块代码块中保存着一组代码,同一个代码块中的...
  • C语言while循环嵌套教程C语言while循环嵌套详解语法while (cond1){// do somethingwhile (cond2){// do somethingwhile (cond3){// do something}}}参数参数描述whilewhile 循环使用的关键字。condwhile 循环的条件...
  • Python while循环

    2020-12-19 15:09:38
    Python while循环在前面的训练中,你有否发现,有不少的代码是重复出现的呢?" 而你有没有想过,这些重复出现的代码,可以只出现一次,同时,又可以重复使用它们呢?如果可以,那么,就可以减少代码输入的工作量,...
  • while循环嵌套

    千次阅读 2021-02-14 23:59:24
    # while循环嵌套: 在一个while循环语句里面再次使用while循环语句,该格式称为while循环嵌套 # while循环嵌套的语法格式: # while 要判断的条件: # 当条件满足,执行循环语句里面的代码 # # while 要判断的条件: #...
  • while循环

    2021-05-06 08:17:48
    while是一个布尔型循环while(布尔判断)的值为true就执行大括号括起来的代码。如果为假就停出去,执行后续代码。现在,我们增加一点难道,来做隔行变色。隔行变色,是我们在网页中经常使用到的表现。要求重点掌握。...
  • 在switch 里面跳出while 循环

    千次阅读 2021-04-06 19:40:17
    while循环里包含一个switch,break只能跳出switch。 通过设置条件让循环跳出while; 例如: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner=new ...
  • while与dowhile循环

    千次阅读 2020-12-21 08:15:45
    while与dowhile循环一、while 循环二、do while 循环三、死循环 一、while 循环 while是最基本的循环,它的结构为: while( 布尔表达式 ) { //循环内容 } 只要布尔表达式为 true,循环就会一直执行下去。 public ...
  • while循环和do while循环

    2021-01-08 16:24:41
    那么在讲解循环之前呢我们先来了解一下什么是循环 生活中的例子 车子的轮胎他就是一直在循环 马拉松跑到也是在循环 因为运动员不停的一圈一圈在跑这也是一个循环 那么我们为什么要学习循环呢? 下面看一个小问题 ...
  • 二、while循环 代码练习 三、dowhile循环 代码练习 一、for循环 1、循环结构的四个部分 ①初始化部分 ②循环条件--->是boolean型 ③循环体 ④迭代条件 2、for循环的结构 for(①;②;④){ ③ } 执行过程...
  • 在 PHP 中,提供了下列循环语句:while- 只要指定的条件成立,则循环执行代码块do...while- 首先执行一次代码块,然后在指定的条件成立时重复这个循环for- 循环执行代码块指定的次数foreach-...
  • 那么在讲解循环之前呢我们先来了解一下什么是循环 生活中的例子 车子的轮胎他就是一直在循环 马拉松跑到也是在循环 因为运动员不停的一圈一圈在跑这也是一个循环那么我们为什么要学习循环呢?下面看一个小问题 张浩...
  • 用do-while语句构成循环do-while语句的特点是先执行循环体,然后判断循环条件是否成立。其一般形式为:do语句while (表达式);它是这样执行的:先执行一次指定的语句(即循环体),然后判别表达式,当表达式的值为非零...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 140,534
精华内容 56,213
关键字:

while循环里面的条件