[TOC]
>[success] # 基礎案例一
~~~
1、使用while循環輸入 1 2 3 4 5 6 8 9 10
2、求1-100的所有數的和
3、輸出 1-100 內的所有奇數
4、輸出 1-100 內的所有偶數
5、求1-2+3-4+5 ... 99的所有數的和
6、用戶登陸(三次機會重試)
7、計算 1 - 2 + 3 ... -99 中除了88意外所有數的總和
8、?戶登陸(三次輸錯機會)且每次輸錯誤時顯示剩余錯誤次數(提示:使?字符串格式化)
9、開發敏感詞語過濾程序,提示用戶輸入評論內容,如果用戶輸入的內容中包含特殊的字符:
敏感詞列表 li = ["蒼老師","東京熱",”武藤蘭”,”波多野結衣”]
則將用戶輸入的內容中的敏感詞匯替換成***,并添加到一個列表中;
如果用戶輸入的內容沒有敏感詞匯,則直接添加到上述的列表中。
~~~
>[danger] ##### while 循環輸出 1-10
~~~python
count = 0
while count<10:
count += 1
print(count)
~~~
>[danger] ##### 1-100的和
~~~
1.要有兩個變量一個是1-100的計數
2.一個是sum 總和統計
~~~
~~~
count = 0
sum = 0
while count<100:
count += 1
sum += count
print(sum)
打印結果:
5050
~~~
* 方法二
~~~
sum(range(1, 101))
~~~
>[danger] ##### 1-100 的奇數打印
~~~
count = 0
while count < 100:
count += 1
# 偶數的余數是0,0代表Flase
if count % 2:
print(count)
~~~
>[danger] ##### 1-100 的偶數打印
~~~
count = 0
while count < 100:
count += 1
# 偶數的余數是0,0代表Flase
if !count % 2:
print(count)
~~~
>[danger] ##### 求1-2+3-4+5 ... 99的所有數的和
~~~
count = 0
sum = 0
while count < 99:
count += 1
if count % 2:
sum += count
else:
sum -= count
print(sum)
打印結果:
50
~~~
>[danger] ##### 用戶登陸(三次機會重試)
~~~
# 1.用戶輸入 2.次數限制
count = 0
while count < 3:
userName = input("輸入用戶名")
if userName == "wang":
print("用戶名密碼正確")
else:
print("用戶名密碼錯誤")
count += 1
~~~
>[danger] ##### 計算 1 - 2 + 3 ... -99 中除了88意外所有數的總和
~~~
1.contunue 的時候要注意循環的計數器更改
2.另外一種思路改變正負奇偶,來實現案例
~~~
~~~
sum = 0
i = 1
while i < 100:
if i == 88:
i += 1
continue
elif i%2:
sum += i
else:
sum -= i
i += 1
print(sum)
打印結果:
138
~~~
~~~
i = 0
j = -1
sum = 0
while i < 99:
i = i + 1
if i == 88:
continue
else:
j = -j
sum = sum + i * j
print(sum)
打印結果:
138
~~~
>[danger] ##### ?戶登陸(三次輸錯機會)且每次輸錯誤時顯示剩余錯誤次數(提示:使?字符串格式化)
~~~
username = "wang"
pwd = "123"
count = 3
while count > 0:
input_username = input("請輸入用戶名")
if username == input_username:
input_pwd = input("請輸入密碼")
if input_pwd == pwd:
msg = "用戶名%是,密碼%" % (input_username, input_pwd)
break
count -= 1
else:
count -= 1
if count == 0:
print("你機會用完了")
else:
print("你還剩%s機會" % (count))
打印結果:
請輸入用戶名wang
請輸入密碼w
你還剩2機會
請輸入用戶名w
你還剩1機會
請輸入用戶名w
你機會用完了
~~~
>[danger] ##### 敏感詞匯
~~~
1.將敏感詞匯循環出來,跟輸入詞匯進行對比
2.根據長度來生成對應的* 號
~~~
~~~
li=["蒼老師","東京熱","武藤蘭","波多野結衣"]
new_li = []
info = input('評論') # 蒼老師,東京熱 法律框架第三
for i in li:
if i in info:
l = len(i)
info = info.replace(i,"*"*l)
new_li.append(info)
print(new_li)
打印結果:
['***,*** 法律框架第三']
~~~
>[danger] ##### 打印列表中奇/偶數位
* 用切片
~~~
lis = [11,22,33,44,55,99]
# 打印角標偶數
print(lis[::2])
# 打印角標奇數
print(lis[::-2])
打印結果:
[11, 33, 55]
[99, 44, 22]
~~~
* 用循環元素,獲取角標判斷的方法
~~~
lis = [11,22,33,44,55,99]
li1 = []
li2 = []
# 利用index 獲取元素角標判斷偶數
for i in lis:
if lis.index(i) % 2 == 0:
li1.append(i)
# 利用index 獲取元素角標判斷奇數
for i in lis:
if lis.index(i) % 2 != 0:
li2.append(i)
print(li1)
print(li2)
打印結果:
[11, 33, 55]
[99, 44, 22]
~~~
* 利用range 和del 配合的方法
~~~
lis = [11,22,33,44,55,99]
# 打印奇數位 雖然del 會破壞 數組的內容產生新的數組,容易生成越界的bug,
# 但是可以用倒序,后面刪除,前面順序不影響的方法
for i in range(len(lis)-1,-1,-1):
if i % 2 == 1:
del lis[i]
print(lis)
打印結果:
[11, 33, 55]
~~~
- PYTHON-- 基礎
- Python -- 變量、常量、注解
- 算數\比較\賦值\邏輯運算符
- Python -- input 控制臺用戶輸入
- Python -- 流程控制/循環語句
- Python -- 切片
- Python -- 數據類型
- 基礎數據類型
- int -- 數字類型
- str -- 字符類型
- bool -- 布爾類型
- list -- 列表
- type -- 元祖
- dict -- 字典
- set -- 集合
- Python -- 深淺copy
- Python -- 文件的讀寫
- Python -- 函數
- 函數 -- 做參數使用
- 函數 -- 閉包
- 函數 -- 生成器
- 函數 -- 列表推導式
- 案例
- 基礎案例一
- 基礎案例二
- 基礎案例三
- COOKBOOK
- LIST、STR、DICT、TUPLE
- LIST - 列表方法總結
- 一、序列拆分成單獨變量
- 二、* 妙用
- 三、deque- 雙向隊列
- 四、求找到最大或最小的N個元素
- 4.1 heapq-- 簡單使用
- 五、去重并保持列表順序不變
- 六、切片slice
- 七、counter 統計序列中元素次數
- 八、itemgetter 列表套著字典排序
- 九、處理大量的列表數據
- 十、隨機事件處理列表
- DICT - 字典的總結方法
- 一、defaultdict 解決 KeyError
- 二、OrdereDict有序字典
- 三、zip 和 max/min 比較
- IDCT和LIST- 推導式
- 一、LIST 推導式
- 二、字典推到式
- TUPLE-元組
- 一、命名元組
- STR-字符串
- 一、常見的字符串方法
- 二、字符串拆分
- 三、字符串的位置匹配
- 四、字符串替換
- 五、正則大小寫/換行匹配
- 六、對字節類型處理
- 數字、日期、時間處理
- 一、數字的處理
- 二、時間換算
- 2.1 時間運算
- 2.2計算某一時刻上周幾的日期
- 2.2對時間轉換格式優化
- 迭代器和生成器
- 一、iter 迭代器 使用案例
- 二、生成器 yeild
- 三、構建一個反向迭代方法
- 四、實現反正函數構造
- 五、迭代對象切片/跳過元素
- 六、迭代出所有的組合排列
- 七、索引-值迭代序列化
- 八、zip 同時迭代多個序列
- 九、同時循環多個可迭代對象
- 十、yield from 遞歸案例
- 十一、合并序列,并按順序輸出
- 十二、使用 iter 替代 while True
- 操作文件
- 一、處理文件路徑
- 二、檢測文件/獲取文件信息
- 函數
- 一、函數基本案例使用
- 二、匿名函數
- 三、回調函數
- 四、閉包實現一個單個方法類
- 五、函數嵌套回調函數
- 類與對象
- 一、str/repr--讓類字符串表示
- 二、format -- 格式化類的內容
- 三、with -- 上下文管理類
- 四、創建節省內存的類
- 五、將類里面方法變成屬性
- 六、調用父類方法
- 七、擴展子類中的屬性
- 八、創建新的類或者實類屬性
- 九、簡化數據結果,簡化init
- 十、python 接口寫法
- 十一、通過類屬性創建委托訪問
- 十二、__new__重新初始化init
- 十三、通過字符串調用類
- 元編程
- 一、裝飾器
- 1.1 去掉裝飾器修飾
- 1.2 可接受參數裝飾器
- 1.3利用裝飾器對函數參數類型檢查
- 1.4編寫類裝飾器
- 1.5為類方法和靜態方法加裝飾器
- 1.6通過裝飾器給裝飾函數加參數
- 線程和進程