Python
邏輯判斷和循環
邏輯判斷
-
if elif else條件判斷
- if <條件判斷1>:
<執行1>
elif <條件判斷2>:
<執行2>
elif <條件判斷3>:
<執行3>
else:
<執行4>
- if <條件判斷1>:
-
if嵌套的格式
- if 條件1:
滿足條件1 做的事情1
滿足條件1 做的事情2
…(省略)…
if 條件2:
滿足條件2 做的事情1
滿足條件2 做的事情2
…(省略)…
說明:
外層的if判斷,也可以是if-else
內層的if判斷,也可以是if-else
根據實際開發的情況,進行選擇
- if 條件1:
-
注意:
- input陷阱:
循環結構
-
while循環:
- while 條件:
條件滿足時,做的事情1
條件滿足時,做的事情2
條件滿足時,做的事情3
…(省略)…
pass 和while沒有關係
- while 條件:
-
for循環:
-
for 臨時變量 in 列表或者字符串等:
循環滿足條件時執行的代碼
else:
循環不滿足條件時執行的代碼- range(1,10,2)
-
-
實例(九九乘法表):
i = 1
while i < 10:
j = 1
while j <= i:
print("%d*%d=%d" % (j, i, j * i), end="\t")
if (j == i):
print()
j += 1
i += 1
- for循環:
- for i in range(1, 10):
for j in range(1, i + 1):
print("%d*%d=%d" % (j, i, j * i), end="\t")
if (j == i):
print()
break和continue:
-
break:
- 在循環中,break語句可以提前退出當層循環
-
continue:
- 在循環過程中,也可以通過continue語句,跳過當層的本次循環
集合類型
字符串
-
1、下標索引
- 所謂下標,就是編號,就好比超市中的存儲櫃的編號,通過這個編號就能找到相應的存儲空間
- 字符串實際上就是字符的數組,所以也支持下標索引
- 起:(左:0,右:-1)
-
2、切片(分片)
-
切片是指對操作的對象截取其中一部分的操作
-
字符串、列表、元組都支持切片操作
-
切片的語法:[起始:結束:步長]
- 步長:表示下標變化的規律(-1爲倒序,正整數爲順序,不寫爲1)
- 注意:選取的區間屬於左閉右開型,即從"起始"位開始,到"結束"位的前一位結束(不包含結束位本身)
- 注意:[::]([(不寫表示從頭開始):(不寫表示最後):(不寫表示步長1)])
-
-
3、字符串常見操作
-
<1>find == java Indexof方法
- 檢測 str 是否包含在 mystr中,如果是返回開始的索引值,否則返回-1
- mystr.find(str, start=0, end=len(mystr))
-
<2>index
- 跟find()方法一樣,只不過如果str不在 mystr中會報一個異常
- mystr.index(str, start=0, end=len(mystr))
-
<3>count
- 返回 str在start和end之間 在 mystr裏面出現的次數
- mystr.count(str, start=0, end=len(mystr))
-
<4>replace
- 把 mystr 中的 str1 替換成 str2,如果 count 指定,則替換不超過 count 次.
- mystr.replace(str1, str2, mystr.count(str1))
-
<5>split
- 以 str 爲分隔符切片 mystr,如果 maxsplit有指定值,則僅分隔 maxsplit 個子字符串
- mystr.split(str=" ", 2)
-
<6>capitalize
- 把字符串的第一個字符大寫
- mystr.capitalize()
-
<7>title
- 把字符串的每個單詞首字母大寫
- mystr.title()
-
<8>startswith
- 檢查字符串是否是以 obj 開頭, 是則返回 True,否則返回 False
- mystr.startswith(obj)
-
<9>endswith
- 檢查字符串是否以obj結束,如果是返回True,否則返回 False.
- mystr.endswith(obj)
-
<10>lower
- 轉換 mystr 中所有大寫字符爲小寫
- mystr.lower()
-
<11>upper
- 轉換 mystr 中的小寫字母爲大寫
- mystr.upper()
-
<12>ljust
- 返回一個原字符串左對齊,並使用空格填充至長度 width 的新字符串
- mystr.ljust(width)
-
<13>rjust
- 返回一個原字符串右對齊,並使用空格填充至長度 width 的新字符串
- mystr.rjust(width)
-
<14>center
- 返回一個原字符串居中,並使用空格填充至長度 width 的新字符串
- mystr.center(width)
-
<15>lstrip
- 刪除 mystr 左邊的空白字符
- mystr.lstrip()
-
<16>rstrip
- 刪除 mystr 字符串末尾的空白字符
- mystr.rstrip()
-
<17>strip —java trim
- 刪除mystr字符串兩端的空白字符
-
<18>rfind
- 類似於 find()函數,不過是從右邊開始查找.
- mystr.rfind(str, start=0,end=len(mystr) )
-
<19>rindex
- 類似於 index(),不過是從右邊開始.
- mystr.rindex( str, start=0,end=len(mystr))
-
<20>partition
- 把mystr以str分割成三部分,str前,str和str後
- mystr.partition(str)
-
<21>rpartition
- 類似於 partition()函數,不過是從右邊開始.
- mystr.rpartition(str)
-
<22>splitlines
- 按照換行符分隔,返回一個包含各行作爲元素的列表
- mystr.splitlines()
-
<23>isalpha
- 如果 mystr 所有字符都是字母 則返回 True,否則返回 False
- mystr.isalpha()
-
<24>isdigit
- 如果 mystr 只包含數字則返回 True 否則返回 False
- mystr.isdigit()
-
<25>isalnum
- 如果 mystr 所有字符都是字母或數字則返回 True,否則返回 False
- mystr.isalnum()
-
<26>isspace
- 如果 mystr 中只包含空格,則返回 True,否則返回 False.
- mystr.isspace()
-
<27>join
- mystr 中每個字符後面插入list的每個元素後面,構造出一個新的字符串
- mystr.join(list)
-
注意:
- find:找不到返回-1 ,都是從左邊找,右邊查找r
- index:找不到報錯
-
列表
-
1、列表介紹
- Python內置的一種數據類型是列表:list。list是一種有序的集合,可以隨時添加和刪除其中的元素。
-
2、列表的相關操作
-
<1>添加元素("增"append, extend, insert)
-
append
- 通過append可以向列表添加元素
-
extend(+)
- 通過extend可以將另一個集合中的元素逐一添加到列表中
-
insert
- insert(index, object) 在指定位置index前插入元素object
-
-
<2>修改元素(“改”)
- 修改元素的時候,要通過下標來確定要修改的是哪個元素,然後才能進行修改
-
<3>查找元素("查"in, not in, index, count)
-
所謂的查找,就是看看指定的元素是否存在
-
in(存在),如果存在那麼結果爲true,否則爲false
-
not in(不存在),如果不存在那麼結果爲true,否則false
-
index和count與字符串中的用法相同
- a.index(‘a’, 1, 3) # 注意是左閉右開區間,(起始,結束)
-
-
<4>刪除元素("刪"del, pop, remove)
-
del:根據下標進行刪除,其實可以刪除所有變量
- del list[0]
-
pop:默認刪除最後一個元素
- list.pop(指定位置)
-
remove:根據元素的值進行刪除第一個
- list.remove(123)
-
-
<5>排序(sort, reverse)
-
sort方法是將list按特定順序重新排列,默認爲由小到大,參數reverse=True可改爲倒序,由大到小
- list.sort(reverse=True)
-
reverse方法是將list逆置
- list.reverse()
-
-
<6>enumerate()
- for i, v in enumerate(list):
print(i, v)
- for i, v in enumerate(list):
-