18 19 20 py if语句 比较运算符 断言assertions

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了18 19 20 py if语句 比较运算符 断言assertions相关的知识,希望对你有一定的参考价值。

第四课 条件语句(if、else和elif) # coding:utf-8 python语言中是已缩进的代码块进行界定的 # 条件语句(if、else和elif) ‘‘‘ if logic_expression: statement1 statement2 statement3 ... ... statementn elif logic_expression: statement1 statement2 ... ... statementn else: statement1 statement2 ... ... statementn otherstatement ‘‘‘ n = 3 if n == 3: # python 语言中 默认是以4个空格或者1个tab键 print("n == 3") print("hello world") # 同属于一个代码块的缩进必须是一样的 print("------------------") w = 2 if w == 1: print("w ==1") else: #别忘了else后面有个冒号 print("w !=1") print("------------------") n = 5 if n == 3: print("n == 3") print("xyz") elif n == 4: print("n == 4") print("ddd") elif n == 5: print("n == 5") print("xxx") else: print("n != 3") print("abc") name = input("请输入您的名字:") if name.startswith("B"): #这个表示字符串的前缀,也就是说以B开头的 这是一个方法 print("名字以B开头") elif name.startswith("F"): print("名字以F开头") elif name.startswith("T"): print("名字以T开头") else: print("名字以其他字母开头") 这一部分的代码用shell来写 [hadoop@dev-hadoop-test03 majihui_test]$ cat a.sh #!/bin/bash read -t 6 -p "pls input you name:" name if [ $name == "majihui" ];then echo "你的名字:$name" elif [ $name == "mjh" ];then echo "你的名字:$name" else echo "你的名字是其他" fi [hadoop@dev-hadoop-test03 majihui_test]$ sh a.sh pls input you name:majihui 你的名字:majihui [hadoop@dev-hadoop-test03 majihui_test]$ sh a.sh pls input you name:mjh 你的名字:mjh [hadoop@dev-hadoop-test03 majihui_test]$ sh a.sh pls input you name:sdd 你的名字是其他 [root@localhost if]# cat ifjiaoben5.sh 【此脚本有bug 没有去做出判断是否两个参数都是正整数】判断正整数的方法上面有解释到! #!/bin/bash if [ $1 -lt $2 ];then echo "$1<$2" elif [ $1 -eq $2 ];then echo "$1=$2" else echo "$1>$2" fi [root@localhost if]# sh ifjiaoben5.sh 1 2 1<2 [root@localhost if]# sh ifjiaoben5.sh 2 1 2>1 [root@localhost if]# sh ifjiaoben5.sh 1 1 1=1 --------------------------------------------------------------------- 第五课 if条件语句嵌套代码块 以下是老师的代码 # coding:utf-8 name = input("您叫什么名字?") if name.startswith("Bill"): if name.endswith("Gates"): print("欢迎Bill Gates先生") elif name.endswith("Clinton"): print("欢迎克林顿先生") else: print("未知姓名") print("hello world") elif name.startswith("李"): if name.endswith("宁"): print("欢迎李宁老师") else: print("未知姓名") else: print("未知姓名") --------------------------- 下面我们自己写一个代码 # coding:utf-8 name = input("请输入 A B C 三个字母") if name.startswith("A"): #表示以A字母开头的 if name.endswith("a"): #表示以a字母结尾的 print("您输入的是Aa") elif name.endswith("b"): print("您输入的是Ab") else: print("不知道你输入的什么鬼") print("hello world") #这个代码的意思是不管是什么都会输出hello world elif name.startswith("李"): if name.endswith("宁"): print("欢迎李宁老师") else: print("未知姓名") else: print("不符合条件的输入") —————————————————————————————————————————————————————————————————————————————— 第六课 比较运算符 # coding:utf-8 # 比较运算符 ‘‘‘ x == y x等于y x < y x 小于 y x > y x 大于 y x <= y x 小于等于 y x >= y x 大于等于 y x != y x 不等于 y x is y x和y是同一个对象 x is not y x和y不是同一个对象 是指x y 是由完全不同的2个类创建的 x in y x 是 y容器的成员,y是列表[1,2,3,4],1 in y,10 in y x not in y x 不是y容器的成员 所有的比较运算符的比较之后的值都是boolean类型 ****** shell中 整数二元比较操作符 在[]中使用的比较符 在(())和[[]]中使用的比较符 说明 -eq == equal的缩写 相等 -ne != not equal 不相等 -gt > 大于 -ge >= 大于等于 -lt < 小于 -le <= 小于等于 ‘‘‘ print("Hello" == "Hello") #值为True print("hello" == "Hello") #值为flase 说明python是严格按照字母大小写的 # print("hello" = "Hello") #只用一个等号 = 的话 直接报错了 print(10 == 20) #值为false print("hello" > "Hello") #值为true 说明小写字母的h 阿斯克码值大于 H print("hello" > "hello world") #值为flase 这个表示首先比较hello前缀是一样的 那么就比较程度了 很明显后面的长度大于前面的长度 list = [1,2,3,4,5] # 此为列表 print(1 in list) #值为true print(10 in list) #值为false print(10 not in list) #值为true print("--------------------------------") # 把比较运算符运用到我们的条件语句中 x = 40 y = 30 s1 = "Hello" s2 = "World" if x < y: print("x < y") else: print("x >= y") # or 逻辑或 这个类似于shell总的 || # and 逻辑与 这个类似于shell中的 && shell 中为: 逻辑操作符 在[]中使用的逻辑操作符 在[[]]中使用的逻辑操作符 说明 -a 【and与】 && “与”两端都是真,则为真 -o 【or或】 || “或”两端有一个为真就为真 ! ! “非”相反则为真 ‘‘‘ and True and True == True or False or False == False ‘‘‘ if x < y and s1 < s2: print("满足条件") elif not s1 > s2: print("基本满足条件") else: print("不满足条件")
第七课 断言(Assertions
//断言从字面上解释就是 在满足某一个条件之后,整个就断了
断言相当于 条件语句 + 抛出异常

# 断言(assertions)
‘‘‘
    if not condition
        crash program
        如果不满足条件就跑出异常       //主要用到TDD的开发模式上
    TDD(Test-driven development) #测试驱动开发 正常的开发模式是 开发完成之后 再进行黑盒 白盒测试
                                 #TDD的这个过程是相反的 我在编写程序之前 我先把这个块给规定了 比如说我们的这个程序涉及到 x y z
比如我这个程序 必须要满足 x > 20 y < 10 z == 50 才算成功   只要你改了条件,我这个程序就人为的让他出错 
    x y z

    x > 20
    if x <= 20:
       抛出异常
    y < 10
    z == 50
‘‘‘

value = 20
assert value > 10     #这样的输出结果为 真的 但是 在输出台 没有任何的输出

value = 4
assert value > 10     #他不满足条件了,就会跑出异常 也就是一堆代码错误。 
错误代码为:
/Users/majihui/pycharm_work/venv/bin/python /Users/majihui/pycharm_work/test05.py
Traceback (most recent call last):
  File "/Users/majihui/pycharm_work/test05.py", line 2, in <module>
    assert value > 10 
AssertionError

Process finished with exit code 1

以上是关于18 19 20 py if语句 比较运算符 断言assertions的主要内容,如果未能解决你的问题,请参考以下文章

简明 Python 教程

if分支判断

Shell测试语句:整数比较运算符

if选择结构的理解(本人也刚学理解的不是很透彻)

if语句

Java学习笔记:流程控制