字串
-
字串索引
s1 = "shujiakeji" for i in range(len(s1)): print(s1[i])
-
字串切片
s1 = "33期的同學們,大家好,歡迎來到數加科技!" print(s1[8:11]) print(s1[-13 : -10])
-
字串步長
s1 = "33期的同學們,大家好,歡迎來到數加科技!" print(s1[::2])
-
字串特有功能:upper() lower()
s1 = "heLlO wORlD" print(s1.upper()) print(s1.lower())
-
字串特有功能:isdigit() 判斷字串內容是否是數字
s1 = input("請輸入一個字串:") if s1.isdigit(): print(int(s1)+1) else: print("您輸入的字串內容不是一個數值")
-
字串特有功能:startswith() 判斷字串是否已某串字元開頭
s1 = "hhhhhhw22222" print(s1.startswith("hhhh")) #返回布林值
-
字串特有功能:endswith() 判斷字串是否已某串字元開頭
s1 = "hhhhhhw22222" print(s1.endswith("2222")) #返回布林值
-
字串特有功能:split() 指定分隔符從左向右進行拆分
# 預設全部拆分 s1 = "1001,張三,18,男,33期" l1 = s1.split(',') print(l1) # 分割的結果是一個列表 # 設定maxsplit引數,調整最大切割次數 s1 = "1001,張三,18,男,33期" l1 = s1.split(',',maxsplit=2) print(l1) # rsplit()可從右向左進行拆分 s1 = "1001,張三,18,男,33期" l1 = s1.rsplit(',',maxsplit=2) print(l1)
-
字串特有功能:join()用呼叫該方法的字串進行拼接
s1 = "1001,張三,18,男,33期" l1 = s1.split(',') print(l1) print("------------------") l2 = "-".join(l1) print(l2)
-
字串特有功能:replace()用新字串替換舊字串
s1 = "數加科技是全球最好的大資料培訓機構" l1 = s1.replace("全球","銀河系") print(l1)
# 多次替換 # 方式一:使用一個變數,覆蓋接收新的結果 s1 = "今天我在數加科技學習,今天學習了大資料相關的知識,在數加每一天都很充實!" s1 = s1.replace('數加','shujia') s1 = s1.replace('資料','data') s1 = s1.replace('每一天','every day') print(s1) # 方式二:使用鏈式呼叫改進 s1 = ("今天我在數加科技學習,今天學習了大資料相關的知識,在數加每一天都很充實!".replace('數加','shujia') .replace('資料','data') .replace('每一天','every day')) print(s1)
-
字串特有功能:strip() 去除字串兩邊的空白字元
s1 = ' hello world ' s2 = s1.strip() print(f"s1:{s1}") print(f"s2:{s2}") # rstrip()去除字串右邊的空白字元 # lstrip()去除字串左邊的空白字元
# 使用者登入 name = input("請輸入使用者名稱:") pwd = input("請輸入密碼:") if name.strip() == "root" and pwd.strip() == "123456": print("登陸成功") else: print("登入失敗")
案例1:使用者登入
while True:
name = input("請輸入您的姓名:")
if name.upper() == 'Q':
print("退出系統....")
break
pwd = input("請輸入您的密碼:")
if name == 'root' and pwd == '123456':
print("登入成功!")
break
else:
print("登入失敗!請重新輸入....")
案例2:輸入一個長字串,判斷其中數字的個數
s1 = input("請輸入一個字串:")
num = 0
for i in range(len(s1)):
if s1[i].isdigit():
num = num + 1
print(f"該字串數字的個數為{num}")
其他案例
# 寫程式碼實現,使用者輸入自己的國籍,如果是以中國開頭,輸出中國人,否則輸出外國人
nationality = input("請輸入您的國籍:")
if nationality.startswith("中國"):
print("中國人")
else:
print("外國人")
# 編寫程式,將字串中所有的數加的詞,替換成shujia
s1 = input("請輸入一串字元:")
s1 = s1.replace("數加","shujia")
print(s1)
# 根據使用者輸入的文字資訊,統計出‘數’這個字的出現次數
s1 = input("請輸入一串字元:")
num = 1
for i in s1:
if i == '數':
num = num +1
print(num)
# 根據使用者輸入的文字資訊(只包含英語字母和數字),將所有的字母和數字單獨提取出來
s1 = input("請輸入一串只包含英語字母和數字的字元:")
result_num = ''
result_char = ''
for i in s1:
if i.isdigit():
result_num = result_num + i
else:
result_char = result_char + i
print(result_num,result_char,sep="\n")
# 判斷字串中是否包含數加,如果包含,表示這個人是數加人 使用in關鍵字
s1 = input("請輸入一串字元:")
if "數加" in s1:
print("這個人是數加人")
else:
print("此人不是數加人")
s1 = "hhhhhhw22222"
print(s1.startswith("hhhh"))
列表
-
列表索引
list1 = [11, 22, 33, 44, 55, 66] print(list1[3])
-
列表切片
# 以下切片方式輸出結果相同 list1 = [11, 22, 33, 44, 55, 66] print(list1[2:5]) print(list1[-4:-1]) print(list1[-2:-5:-1])
-
列表特有功能:append() 增加元素
list1 = [] # list1 =list() list1.append(100) list1.append('hello') list1.append('world') list1.append(True) list1.append('hello') list1.append('flink') print(f"list1:{list1}") # 使用者登入 name_list = [] while True: name = input("請輸入登入使用者的名字:") if name.upper() == 'Q': break name_list.append(name) print(name_list)
-
列表特有功能:insert() 插入元素
# 在hello和world之間插入beautiful list1 = [100, 'hello', 'world', True, 'hello', 'flink'] print(f"list1:{list1}") print("--------------------") list1.insert(2, 'beautiful') print(f"list1:{list1}")