您好,登錄后才能下訂單哦!
第四課 條件語句(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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。