Python基礎——while、字串、列表及操作
Python基礎——day3
一. While迴圈
while和if的用法基本類似,區別在於,if條件成立,則執行一次;while條件成立則重複執行,直到條件不成立。
一般情況下需要重複執行的程式碼都可以用迴圈方式實現
1.while迴圈的格式:
while條件:
條件滿足時,執行事件1
條件滿足時,執行事件2
條件滿足時,執行事件3
程式碼演示:
# while迴圈格式演示
a = 1
while a <= 5:
print(a)
print("這是第%d次列印" % a)
a += 1
2.while迴圈的應用
(1) 計算1-100的累計和
程式碼演示:
#需求:計算1-100的累計和
num = 1
num_sum = 0
while num <= 100:
num_sum = num_sum +num
num += 1
print(num_sum)
(2) 計算1-100的偶數和
程式碼演示:
#需求:計算1-100的偶數和
#分析:偶數,即整數除以2,得到的結果沒有餘數,即餘數為0
num = 1
num_sum = 0
while num <= 100:
if num % 2 == 0:
num_sum = num_sum + num
num += 1
print(num_sum)
3.while迴圈巢狀
類似於if巢狀,while巢狀就是while迴圈裡還有while迴圈
While迴圈巢狀格式:
while條件1:
條件1滿足時,執行事件1
條件1滿足時,執行事件2
條件1滿足時,執行事件3
...
while條件2:
條件2滿足時,執行事件1
條件2滿足時,執行事件2
條件2滿足時,執行事件3
...
(1) while迴圈巢狀應用
列印如下格式圖形:
*
**
***
****
程式碼演示:
需求:列印如下格式圖形
*
**
***
****
a = 1
while a <= 4:
b =1
while b <= a:
print("*", end="") #因為print()列印時,有自動換行的特性,因此使用end=""來結束其換行
b += 1
a += 1
print()
(2) while迴圈制作九九乘法表
程式碼演示:
#需求,用while迴圈列印就就乘法表
a = 1
while a <= 9:
b = 1
while b <= a:
print("%d*%d=%d\t" % (b, a ,a*b),end="")
b += 1
a += 1
print()
(3) while迴圈列印倒九九乘法表
程式碼演示:
i = 9
while i>=1:
j = 1
while j<=i:
print("%d*%d=%d\t"%(j,i,j*i),end="")
j+=1
print("\n")
i-=1
二.break 和 continue
break和continue 是兩個只能在迴圈語句中使用到的關鍵詞,有特殊作用。
在迴圈中,遇到continue會跳過當前一次迴圈,跳到下一次迴圈的條件判斷中
在迴圈中,遇到break會直接終止當前迴圈,執行其他後續的程式碼
程式碼演示:
1.(面試題)使用迴圈生成1,2,3,4,5,7,9,10數字
# #需求:使用迴圈生成1,2,3,4,5,7,9,10
my_num = 1
while my_num <= 10:
if my_num == 6 or my_num == 8:
my_num += 1 #注意,使用continue的時候,要注意改變變數,否則構成死迴圈
continue #迴圈遇到continue之後,會直接跳到下一次迴圈的條件判斷中
print( my_num )
my_num += 1
2.修改上述需求,使用迴圈生成1-10數字,但是當數字是6時,結束迴圈
#修改需求:使用迴圈生成1-10數字,但是當數字是6時,結束迴圈
my_num = 1
while my_num <= 10:
if my_num == 6:
break #迴圈中遇到break,會終止迴圈,執行迴圈以後的程式碼
print(my_num)
my_num += 1
二. 字串
1.字串,就是文字,就是由多個字元組成的資料型別
定義字串:
Str = “hello,python”
字串就是用來顯示給使用者看的資料,不需要進行復雜的數學運算(+,-,*,/),但是允許字串進行加法運算,表示拼接。
字串拼接演示演示:
# 字串拼接
my_str1 = "hello"
my_str2 = "python"
my_str3 = my_str1 + "\t" + my_str2
print(my_str3)
字串也可以和整數進行乘法運算,表示重複字串多遍
演示:
#字串和整數相乘
my_str1 = "hello,python \t"
print( my_str1*5 )
在python中,字串一共有四種定義方法:
(1) 使用單引號定義:
(2) 使用雙引號定義:
(3) 使用三個單引號定義:
(4) 使用三個雙引號定義:
# python中定義字串的四種方法:
# 1.使用單引號定義
str1 = 'Hello,Python'
print(str1)
# 2.使用雙引號定義
str2 = "Hello,World"
print(str2)
# 3.使用三個單引號定義
str3 = '''Hello,China'''
print(str3)
# 4.使用三個雙引號定義
str4 = """Hello,Deutchland"""
print(str4)
由於三個引號已經被多行註釋使用,因此定義字串時,一般不使用三個引號
2.字串的相關操作
問題:什麼時候使用單引號定義字串,什麼時候使用雙引號定義字串?
回答:如果字串的內容出現英文的單引號時,使用雙引號定義字串,如果字 符串內容出現英文雙引號時,使用單引號定義字串。
程式碼演示:
# 如果定義字串的內容中含有英文單引號,則使用雙引號進行定義
my_str1 = "I'm from China"
print(my_str1)
# 如果定義字串的內容中含有英文雙引號,則使用單引號進行定義
my_str2 = 'He said:"I am form England"'
print(my_str2)
字串中,會有一些特殊用途的字元:
- 佔位符:%
- 轉義字元:在字串左邊帶著反斜槓的,\n表示換行,\t表示縮排一個tab
演示:
# 佔位符
my_str1 = 5
print("小紅上街買了%d個蘋果" % my_str1)
#轉義字元:\t \n
my_str2 = "hello\npython"
print(my_str2)
my_str3 = "hello\tpython"
print(my_str3)
\’和 \”,因為引號本身在字串中表示字元的開始和結束,那麼\’和\”表示,只是輸出一個文字的引號。
演示:
# \' 和 \"
my_str1 = 'I\'m from China'
print(my_str1)
my_str2 = "He said :\" hello,python\""
print(my_str2)
三. 列表
Python中除了支援數字型別(整數,浮點數,布林值)以外,還有非數字型(字串、列表、元組、字典)
非數字型別,在開發中也叫“高階變數型別”
1.列表(list):是一個由多個成員構成的資料型別
如果我們希望儲存一個班級同學的姓名:
#需求儲存一個班級同學的姓名:
al_class_student_name = ["小明", "小黑", "小白", "小紅"]
print(al_class_student_name)
print(type(al_class_student_name))
列表中的資料,可以是字串,也可以是數字等其他的資料型別
- 列表的下標
列表的下標指揮從0開始逐個遞增
#列表的下標
my_list = ["a", "b", "c", "d", "e"]
print(my_list[2])
列表的下標除了可以使用正數以外,還可以使用負數,
正數下標從0開始,從左往右排列
負數下標從-1開始,從右往左排列
#提取列表中倒數第一個資料
my_list =["a", "b", "c", "d", "e", "f"]
print(my_list[-1])
列表中雖然可以放不同資料型別的成員,但是一般在開發過程中,我們通常把同一種資料型別的資料,放在同一個列表中,也就是說列表中的資料,要麼都是字串,要麼都是數字,原因主要是,列表往往和迴圈一起出現,使用迴圈對列表進行統一的操作。
注意:其實,除了列表有下標以外,其他的非數字型別的資料都會有下表,比如字串。
四. for迴圈
1.for迴圈一般就是用來完成提取列表和字串、元組的所有成員
for類似while,也是一種迴圈
演示:
class_student_list = ["小白", "小黑", "小灰", "小紅", "小藍"]
# 需求:希望把所有學生姓名全部輸出出來
# 如果不使用迴圈來輸出則如下:
print(class_student_list[0])
print(class_student_list[1])
print(class_student_list[2])
print(class_student_list[3])
print(class_student_list[4])
print()
#先使用while來完成:
a = 1
while a <= 4:
print(class_student_list[a])
a += 1
print()
#使用for迴圈實現:
for name in class_student_list:
print(name)
遍歷:從第一個到最後一個,每一個都進行操作、檢視。
迴圈:就是重複執行
2.for迴圈生成數字
需求:生成1-10之間的整數
程式碼演示:
# 需求:生成1-10之間的整數
# 先使用while迴圈實現:
a = 1
while a <= 10:
print(a, end="") #使用end="",讓print()列印不換行
a += 1
print()
# 使用for迴圈實現:
# range(開始位置,結束位置) 可以生成指定範圍的整數[不包含結束位置]
for i in range(1,11):
print(i, end="")
- for語句也可以有else語句
演示:
# for迴圈中的else用法:
my_list1 = ["小明", "小黑", "小白", "小紅", "小藍", "小灰", "小小黑"]
for name in my_list1:
if name == "小黑" :
print("找到你了,小黑")
break
else:
print("沒找到你") # for後面else語句中的程式碼會在執行所有迴圈後,才會執行,
# 遇到break,else就不會執行了
五. 列表的更多操作
(1) 列表也支援加法運算和乘法運算
兩個列表進行加法運算,表示拼接兩個列表
列表和整數可以進行乘法運算,表示重複當前列表中的成員指定次數遍
程式碼演示:
#列表的加法運算,兩個列表相加表示兩個列表的拼接
list1 = [1,2,3]
list2 = ["a", "b", "c"]
list3 = list1 + list2
print(list3)
#列表的乘法運算,列表和整數相乘,表示按指定次數重複當前列表的成員
list4 = list1 * 4
print(list4)
(2) in 判斷一個成員是否在列表中
in 是一個運算子,其結果只會是True和False。
程式碼演示:
# in 來判斷成員是否在列表中
my_list = ["a", "b", "c", "d"]
print("a" in my_list)
True即表示該成員在列表中
(3) not in 判斷一個成員是否不在列表中
程式碼演示:
# not in 判斷一個成員是否不在這個列表中
my_list = ["a", "b", "c", "d"]
print("a" not in my_list)
在開發過程中,一般in 是用在if條件中:
程式碼演示:
# in 在開發中一般和if判斷連用
my_list = ["a", "b", "c", "d"]
my_name = "a"
if my_name in my_list:
print("%s在列表中" % my_name)
else:
print("%s不在列表中" % my_name)
(4) 列表的增、刪、改、查
在開發中,列表中存放的成員就是資料,那麼我們可以對列表裡面的成員進行,增加、刪除、修改、檢視
常規操作:增、刪、改、查、排序
程式碼演示:
# 列表增加成員
# 1.在列表末尾追加成員
# 列表.append(資料)
my_list1 = ["a", "b", "c", "d"]
my_list1.append("e")
print(my_list1)
# 2.insert 指定下標左邊位置插入資料
# 列表.insert(下標, 資料)
my_list2 = ["az", "bz", "cz", "dz"]
my_list2.insert(2, "fz")
print(my_list2)
# 在列表操作中,insert的下標如果不存在,則表示追加
# 3. extend 合併一個新的列表
my_list3 = ["ax", "bx", "cx", "dx"]
my_list4 = ["ex", "fx", "gx"]
my_list3.extend(my_list4)
print(my_list3)
# 列表刪除成員操作
# 1.使用del通過指定下標可以刪除成員
my_list5 = ["aa", "bb", "cc", "dd"]
del my_list5[-1]
print(my_list5)
# 2.使用remove刪除成員
# 列表.remove(要刪除的資料)
# 使用remove刪除資料時,如果資料不存在會報錯
my_list6 = ["aaa", "bbb", "ccc"]
my_list6.remove("aaa")
print(my_list6)
# 3.使用pop刪除最後一個成員,也可以刪除指定下標對應的資料
# 設定的下標必須存在,否則報錯
my_list7 = ["aaaa","bbbb", "cccc", "dddd"]
my_list7.pop(-1)
print(my_list7)
# 4.清空列表
# 列表.clear()
my_list8 = ["q", "w", "e", "r"]
my_list8.clear()
print(my_list8)
# 列表修改成員的值
# 直接通過下標進行值的修改,如果下標不存在,則直接報錯
my_list9 = ["t", "y", "u", "i"]
my_list9[-1] = "o"
print(my_list9)
# 列表查詢成員
# 1.直接通過下標index查詢成員,如果下標不存在,則報錯
my_list10 = ["1", "2", "3", "4"]
print(my_list10[3])
# 2.通過值來查詢成員下標,如果不存在,則報錯
my_list11 = ["11", "22", "33", "44"]
res1 = my_list11.index("11")
print(res1)
# 3.在指定下標範圍內查詢資料,找不到則報錯
my_list12 = ["z", "x", "c", "v"]
res2 = my_list12.index("x", 0, 2) #查詢的時候不包含結束位置
print(res2)
# 4.count 統計成員在列表中出現的次數,如果沒有,則為0次
my_list13 = ["a", "s", "d", "a", "a", "f"]
res3 = my_list13.count("a")
print(res3)
# 5.len 統計列表成員的個數
my_list14 = ["qq", "ww", "ee", "rr"]
res4 = len(my_list14)
print(res4)
# 列表排序
# 讓列表中的成員進行升序排序
my_list15 = [8, 2, 6, 7, 3, 1]
my_list15.sort()
print(my_list15)
# 可以通過key=str,來設定排序的時候,全部當成字串來進行排序
my_list16 = ["a", 2, "f", 8, "s", "p", 3]
my_list16.sort(key=str)
print(my_list16)
# 可以通過key=len,來設定排序的時候,通過字串長短來排序
# sort()預設讓列表成員進行升序排列,還可以設定降序
my_list17 = [6, 4, 8, 0, 3, 5]
my_list17.sort(reverse=True) #讓列表中的成員降序排序
print(my_list17)
# reverse()可以將列表中成員進行逆序排列
my_list18 = ["小明", "小白", "小蘭", "小黑"]
my_list18.reverse()
print(my_list18)
個人獨立部落格: www.limiao.tech
相關文章
- [Python基礎]字串操作Python字串
- python基礎(三)——操作列表Python
- Python基礎之:數字字串和列表Python字串
- (Python基礎教程之七)Python字串操作Python字串
- Python基礎-列表操作(2):列表的遍歷和數字列表Python
- Python列表基礎Python
- 列表、元組、字串是有序序列嗎?Python基礎教程字串Python
- Python基礎—字串Python字串
- Python 基礎 2 - 列表Python
- Python基礎(03):列表Python
- Python基礎-While迴圈語句PythonWhile
- python基礎 while迴圈練習PythonWhile
- python基礎 (3)if 和 while的使用PythonWhile
- Python元組、列表、集合及列表去重操作Python
- 【編測編學】零基礎學python_09_列表(操作列表之遍歷列表)Python
- python基礎之字串Python字串
- Python基礎(02):字串Python字串
- Python基礎 04----列表Python
- 【Python基礎知識】Python中的while語句PythonWhile
- python基礎操作Python
- Python基礎學習3——列表Python
- python list列表基礎(元組)Python
- (四)Python中的字串型別及操作Python字串型別
- python列表(list)的使用技巧及高階操作Python
- Python 列表、元組、字典及集合操作詳解Python
- Python基礎——檔案操作Python
- Python列表切片操作Python
- Python字串操作Python字串
- python基礎(四)----列表、字典練習題Python
- Python - 基礎資料型別 list 列表Python資料型別
- python基礎之字串和編碼Python字串
- 列表及相關操作
- Python3之字串str、列表list、元組tuple的切片操作Python字串
- python 基礎習題6--for迴圈和while迴圈PythonWhile
- Python 列表操作指南1Python
- Python 列表操作指南3Python
- Python列表操作方法Python
- python中的列表操作Python