[TOC]
>[success] # 基礎案例二
~~~
1.使用while和for循環分別打印字符串s=’asdfer’中每個元素。
2.如:content = input(‘請輸入內容:’) # 如用戶輸入:5+9或5+ 9或5 + 9,然后進行分割再進行計算。
3.任意輸入一串文字+數字 統計出來數字的個數
4.列表選擇對應的商品
~~~
>[danger] ##### 第一題
~~~python
s = 'asdfer'
s_len = len(s)
index = 0
# 固定量和變量進行判斷條件
while s_len > index:
print(s[index])
index += 1
~~~
>[danger] ##### 第二題
~~~
content = input('請輸入內容:').strip()
# 分割后數字帶空格也可以轉換成數字
con = content.split('+')
sum = 0
for num in con:
sum += int(num)
print(sum)
# 第二種思路利用find 去做切片
content = input('請輸入內容:').strip()
index = content.find('+')
a = int(content[0:index])
b = int(content[index+1:])
print(a+b)
~~~
>[danger] ##### 第三題
~~~
# 計數的時候要有計數器
countNum = input("請輸入要統計的數字符串")
count = 0
for i in countNum:
if i.isdigit():
count += 1
print(count)
~~~
>[danger] ##### 第四題
~~~
4.查找列表li中的元素,移除每個元素的空格,
并找出以’A’或者’a’開頭,并以’c’結尾的所有元素,
并添加到一個新列表中,最后循環打印這個新列表。
li = [‘taibai ’,’alexC’,’AbC ’,’egon’,’ Ritian’,’ Wusir’,’ aqc’]
思路:第一種思路按照規定條件去實現,第二種A,a的開頭都能同時轉換成大寫或者小寫進行判斷
~~~
~~~
li = ['taibai ', 'alexC', 'AbC ', 'egon', ' Ritian', ' Wusir', ' aqc']
b = []
for i in li:
i = i.strip()
if (i.startswith('A') or i.startswith('a')) and i.endswith('c'):
b.append(i)
for i in b:
print(i)
------------------------------------------------ 第二種---------------------------------------
for i in li:
s=i.strip()
if s[0].upper() == 'A' and s[-1] == 'c':
b.append(s)
for x in b:
print(x)
~~~
>[danger] ##### 第五題
~~~
5、輸出商品列表,用戶輸入序號,顯示用戶選中的商品
商品 li = ["手機", "電腦", '鼠標墊', '游艇']
要求:1:頁面顯示 序號 + 商品名稱,如:
1 手機
2 電腦
…
2: 用戶輸入選擇的商品序號,然后打印商品名稱
3:如果用戶輸入的商品序號有誤,則提示輸入有誤,并重新輸入。
4:用戶輸入Q或者q,退出程序。
~~~
~~~
li = ["手機", "電腦", "鼠標墊", "游艇"]
for k,v in enumerate(li,1):
print(k,v)
while 1:
choice_num = input("請選著商品")
if choice_num.isdigit() and 0 < int(choice_num) < len(li):
print(li[int(choice_num)-1])
elif choice_num.upper() == 'Q':
break
else:
print("重新輸入")
~~~
>[danger] ##### 字典案例題
~~~
# 去除字典中含有k的鍵
dic = {'k1':'v1','k2':'v2','a3':'v3'}
dic1 = {}
for i in dic:
if "k" not in i:
dic1.setdefault(i,dic[i])
print(dic1)
l = []
for i in dic:
if 'k' in i:
l.append(i)
for i in l:
del dic[i]
print(dic)
打印結果:
{'a3': 'v3'}
{'a3': 'v3'}
~~~
- 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通過裝飾器給裝飾函數加參數
- 線程和進程