python 基礎複習 03
阿新 • • 發佈:2018-12-22
昨天偶然聽到 詞so good,特在此分享一下
'''
天地悠悠 過客匆匆
潮起又潮落
恩恩怨怨 生死白頭
幾人能看透
紅塵啊滾滾 痴痴啊情深
聚散終有時
留一半清醒 留一半醉
至少夢裡有你追隨
我拿青春賭明天
你用真情換此生
歲月不知人間 多少的憂傷
何不瀟灑走一回
'''
"""
ascii:字母,數字,特殊符號 1 個位元組,8位
Unicode: 16位 兩個位元組 升級32位 四個位元組
utf-8:最少一個位元組 8位表示。 英文字母 8位 1個位元組
歐洲16位, 2 個位元組
中文24位, 3個位元組
gbk:中文 2 個位元組,英文字母1個位元組。
"""
1 """View Code小練習 2 有字串 s = '132a4g5t' 3 題:通過對列表的切片形成新的字串,s1,s1 = '123 4 '""" 5 s = '132a4g5t' 6 s1 = s[0]+s[2]+s[1] 7 print(s1) 8 9 10 #使用while和for迴圈分別列印字串ss='asdfer'中每個元素 11 12 #for 13 # s = 'qazwsx' 14 # for i in s: 15 # print(i) 16 17 18 #while 19 # s = 'qazwsx' 20 # index = 021 # while 1: 22 # print(s[index]) 23 # index += 1 24 # if index == len(s): 25 # break 26 27 28 29 30 #有變數 name = "aleX leNb" 完成如下操作 31 32 # 1)移除 name 變數對應的值兩邊的空格,並輸出處理結果。 33 # name = "aleX leNb" 34 # a1 = name.replace(' ', '') 35 # print(a1) 36 # replace('c1','c2'): 把字串裡的c1 替換成c2。37 38 39 # 2)移除 name 變數左邊的 ;'al'並輸出處理結果 40 # name = "aleX leNb" 41 # a2 = name[2:] 42 # print(a2) 43 44 45 # 3)移除 name 變數右面的 'Nb',並輸出處理結果 46 # name = "aleX leNb" 47 # a3 = name[:-2] 48 # print(a3) 49 50 51 # 4)移除 name 變數開頭的 'a'與最後的'b',並輸出處理結果 52 # name = "aleX leNb" 53 # a4 = name[1:-1] 54 # print(a4) 55 56 57 58 # 5)判斷 name 變數是否以'al'開頭,並輸出結果 59 # name = "aleX leNb" 60 # a5 = name.startswith("al") 61 # print(a5) 62 63 64 65 # 6)判斷 name 變數是否以'Nb'結尾,並輸入結果 66 # name = "aleX leNb" 67 # a6 = name.endswith("Nb") 68 # print(a6) 69 70 71 # 7)將 name 變數對應的值中的 所有的'l' 替換為'p',並輸出結果 72 # name = "aleX leNb" 73 # a7 = name.replace("l", "p") 74 # print(a7) 75 76 77 78 # 8)將 name 變數對應的值中的第一個'l'替換成'p',並輸出結果 79 # name = "aleX leNb" 80 # a8 = name.replace("l", "p" ,1) 81 # print(a8) 82 83 84 85 # 9)將 name 變數對應的值根據 所有的'l'分割,並輸出結果 86 # name = "aleX leNb" 87 # a9 = name.split("l") # split 可以把字串轉換成 列表 str--->list 88 # print(a9) 89 90 91 # 10)將 name 變數對應的值根據第一個'l'分割,並輸出結果 92 # name = "aleX leNb" 93 # b1 = name.split("l", 1) 94 # print(b1) 95 96 97 # 11)將 name 變數對應的值變大寫,並輸出結果 98 # name = "aleX leNb" 99 # b2 = name.upper() 100 # print(b2) 101 102 103 104 # 12)將 name 變數對應的值變小寫,並輸出結果 105 # name = "aleX leNb" 106 # b3 = name.lower() 107 # print(b3) 108 109 110 # 13)將 name 變數對應的值首字母'a'大寫,並輸出結果 111 # name = "aleX leNb" 112 # b4 = name.capitalize() 113 # print(b4) 114 115 116 # 14)判斷 name 變數對應的值字母'l'出現幾次,並輸出結果 117 # name = "aleX leNb" 118 # b5 = name.count("l") 119 # print(b5) 120 121 122 123 # 15) 如果判斷name變數對應的值前四位'l'出現幾次,並輸出結果 124 # name = "aleX leNb" 125 # b6 = name[0:4] 126 # print(b6) 127 # b7 = b6.count("l") 128 # print(b7) 129 130 131 132 # 16) 從name變數對應的值中找到'N'對應的索引(如果找不到則報錯),並輸出結果 133 # name = "aleX leNb" 134 # b8 = name.index("N") 135 # print(b8) 136 137 138 # 17) 從name變數對應的值中找到'N'對應的索引(如果找不到則返回-1),輸出結果 139 # name = "aleX leNb" 140 # b9 = name.find("N") 141 # print(b9) 142 143 144 # 18) 從name變數對應的值中找到'X le'對應的索引,並輸出結果 145 # name = "aleX leNb" 146 # c1 = name.index("X le") 147 # print(c1) 148 149 150 151 # 實現一個整數加法計算器: 152 # 如:content=input("請您輸入內容:") 使用者輸入:5+9 或 5+ 9 或 5 + 9, 153 # 然後進行分割再進行計算
1 # 實現一個整數加法計算器: 2 # 如:content=input("請您輸入內容:") 使用者輸入:5+9 或 5+ 9 或 5 + 9, 3 # 然後進行分割再進行計算 4 5 #第一種方法 6 # content = input('>>>').strip() # 使用者有可能輸入空格 去除空格 7 # index = content.find("+") 8 # a = int(content[:index]) 9 # b = int(content[index+1:]) 10 # print(a+b) 11 12 13 #第二種方法 要點:!!split 可以把字串轉換成列表 可以更好地操作!!! 14 content = input('>>>').strip() 15 conl = content.split("+") 16 num = 0 17 for i in conl: 18 num += int(i) 19 print(num)
1 #任意輸入一串文字+數字 統計出來數字的個數 2 3 s = input("請輸入:") 4 count = 0 5 for i in s: 6 if i.isdigit(): 7 count += 1 8 print(count)
# 列表的操作
# 增
# li = ["nihao", "zaijian", "baibai"]
# # 增加 append 增加到列表的最後一個
# li.append("seeyou")
# print(li) #['nihao', 'zaijian', 'baibai', 'seeyou']
# 使用者可以無限輸入,當想要停止的時候,按Q退出
1 # 使用者可以無限輸入,當想要停止的時候,按Q退出 2 3 li = ["hello", "good", "pioneer"] 4 while 1: 5 username = input("請輸入要新增的內容:") 6 if username.strip().upper() == 'Q': 7 break 8 else: 9 li.append(username) 10 print(li)
# insert 可以指定插入的地方
# li = ["nihao", "zaijian", "baibai"]
# li.insert(2, "shier")
# print(li)
# extend 把插入的東西分解成最小元素插入
# li = ["hello", "bye", "seeyou"]
# li.extend("good")
# print(li) # ['hello', 'bye', 'seeyou', 'g', 'o', 'o', 'd']
# li = ["hello", "bye", "seeyou"]
# li.extend(123)
# print(li)
# 報錯 TypeError: 'int' object is not iterable int 不是可迭代物件
# li = ["hello", "bye", "seeyou"]
# li.extend([1,2,3])
# print(li) # ['hello', 'bye', 'seeyou', 1, 2, 3] 列表可以
# 刪
# li = ['hello', 'bye', 'seeyou', 1, 2, 3]
# li.pop(1) # 根據索引刪除 如果什麼都不寫 預設刪除最後一個
# print(li)
# li = ['hello', 'bye', 'seeyou', 1, 2, 3]
# name = li.pop(1) # 根據索引刪除
# print(name,li)
# # pop() 有返回值 可以顯示被刪除的內容
# li = ['hello', 'bye', 'seeyou', 1, 2, 3]
# li.remove("hello")
# print(li) # remove 按元素去刪除
# li = ['hello', 'bye', 'seeyou', 1, 2, 3]
# li.clear() # 清空列表
# print(li)
# li = ['hello', 'bye', 'seeyou', 1, 2, 3]
# del li
# print(li) # 刪除列表
# li = ['hello', 'bye', 'seeyou', 1, 2, 3]
# del li[:2]
# print(li) # 可以使用切片 再用del刪除
# 改
# li = ['hello', 'bye', 'seeyou', 1, 2, 3]
# li[0] = "good"
# print(li)
# 切片去改元素 只要切片去改 沒有任何規律 你寫多少 都按照迭代給你去處理
# li = ['hello', 'bye', 'seeyou', 1, 2, 3]
# li[0:2] = "pioneer" # ['p', 'i', 'o', 'n', 'e', 'e', 'r', 'seeyou', 1, 2, 3]
# print(li) # "pioneer" 替換了前兩個元素
# 查
# li = ['hello', 'bye', 'seeyou', 1, 2, 3]
# for i in li:
# print(i)
# print(li[0:2])
# 公共方法
# li = ['hello', 'bye', 'seeyou', 1, 2, 3]
# l = len(li)
# num = li.count("bye") # bye 在 li 中出現的次數
# print(l)
# print(num)
# 列表中通過元素找索引只有index
# li = ['hello', 'bye', 'seeyou', 1, 2, 3]
# print(li.index(3))
# 快速排序 sort 正向排序
# li = [1,7,3,9,5,6]
# li.sort()
# print(li)
# reverse 反向排序
# li = [1,7,3,9,5,6]
# li.sort(reverse=True)
# print(li)
# 反轉
# li = [1,7,3,9,5,6]
# li.reverse()
# print(li) # [6, 5, 9, 3, 7, 1]
# 列表的巢狀
# li = ["lizy", "wen", "happy", ["蜘蛛", "laoshi",99], 98]
# print(li[3][0][1])
# name = li[0].capitalize()
# print(name)
# print(li)
# li[0] = name
# print(li)
# print(li[1].replace("wen", "王女士"))
# print(li)
# li[1] = li[1].replace("wen", "王女士")
# print(li)
# li = ["lizy", "wen", "happy", ["蜘蛛", "laoshi",99],98]
# name = li[3][1].upper()
# print(name)
# li[3][1] = name
# print(li)
#元祖 只讀列表 不可更改 可迴圈 可切片
# tu = (1, 2, 3, "alex", [2, 3, 4, "taibai"], "egon")
# print(tu[3])
# print(tu[0:4])
# for i in tu:
# print(i)
# tu[4][3] = tu[4][3].upper()
# print(tu)
# join 可以讓列表轉換成字串 list--->str
# split 可以讓字串轉換成列表 str ----> list
# li = ["daxiang", "laoshu", "zhizhu", "女神"]
# s = "".join(li)
# print(s)
# range
#特點:1)顧頭不顧尾
# 相當於一個列表 不過裡面只有數字
# 還有步長
# for i in range(10):
# print(i)
# for i in range(0,10,2):
# print(i)
# for i in range(10,0,-1):
# print(i) # 倒著來
# for i in range(0,10,-1):
# print(i) # 什麼都沒有 不報錯
1 # 要求 遇到列表就遍歷 2 li = [1,2,3,5,"alex",[2,3,4,5,"liay"],"zhizhu"] 3 for i in li: 4 if type(i) == list: 5 for x in i: 6 print(x) 7 else: 8 print(i)