python带我起飞_【有书共读】python带我起飞读书笔记05
4.6 tuple(元組)類型
tuple(元組)可以理解為list(列表)的只讀版。與list不同的是,元組的元素不能修改。
4.6.1 tuple 與 list 的對比
#空元素
t=()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #空元組
li=[]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#空list
#一個元素的注意
t=(3)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#一個元素的注意
t1=(3,)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#必須要加逗號
li=[3]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #對于list加不加都可以
l1=[3,]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#對于list加不加都可以
print(t,t1,li,l1)
#元素修改處理
tt='hello'? ? ? ? ? ? ? ? ? ? ? ? ? ? #定義一個變量tt
t1 = (1,3,4,tt,3.4,"yes",[1,2],(4,3))? ?#列表中放置了整型,變量,浮點型,字符串,嵌套列表
print(t1)? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#將其打印出來
t1[6][0]="3445"? ? ? ? ? ? ? ? ? ? ? ?#為元組中的list里面的元素賦值
print(t1)? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#打印內容
t1[0]=3? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#改變元組中的元素,返回錯誤
4.7 set(集合)
它的主要作用是,進行成員關系測試和消除重復元素。
myset = {‘hello’,‘hello’,‘python’,‘tensorflow’,2,1,2}
print(myset)
輸出:{'hello',1,2,‘python’,‘tensorflow’} 4.8 對組合對象進行 ‘深拷貝’ 和 ‘淺拷貝’
淺拷貝:指創建一個新的對象,其內容是原對象中元素的引用。
深拷貝:指創建一個新的對象并對其賦值,原對象中的所有元素都會在新對象重新創建一次。
第5章 控制流——控制執行順序的開關
例1:根據來訪性別選擇合適的稱呼
getstr = input("請輸入性別:") #調用input函數,獲得輸入字符串
anstr = ['先生','女士']['female'==getstr.strip()]
print('尊敬的',anstr,'你好')
輸出:
請輸入性別:nan
尊敬的 先生 你好
例二:將十進制數轉化成二進制數
a = input("請輸入一個十進制數:")
d=int(a)
s=""
while d!=0:
d,f=divmod(d,2)
s=str(f)+s
print(s)
輸出:
請輸入一個十進制數:11
1011
例三:冒泡排序
n = [5,8,20,1]
print("原數據:",n)
for i in range(len(n)-1):? ? # 這個循環負責設置冒泡排序進行的次數
for j in range(len(n)-i-1):? # j為列表下標
if n[j] > n[j+1]:
n[j], n[j+1] = n[j+1], n[j]
print("排序后:",n)
輸出:
原數據: [5, 8, 20, 1]
排序后: [1, 5, 8, 20]
例四:人機對話控制流程
getstr = ''? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#定義一個空字符串,用來接收輸入
while("Bye"!=getstr):? ? ? ? ? ? ? ? ? ? ? ?#使用while循環
if ''==getstr:? ? ? ? ? ? ? ? ? ? ? ? ? #如果輸入字符為空,輸出歡迎語句
print("hello! Password!")
getstr = input("請輸入字符,并按回車結束:") #調用input函數,獲得輸入字符串
if 'hello'==getstr.strip():? ? ? ? ? ? ?#如果輸入字符串為hello,啟動對話服務
print('How are you today?')
getstr = "start"? ? ? ? ? ? ? ? ? ? #將getstr設為start,標志是啟動對話服務
elif 'go away'==getstr.strip():? ? ? ? ?#如果輸入的是go away,則退出
print('sorry! bye-bye')
break? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #使用break語句退出循環
elif 'pardon'==getstr.strip():? ? ? ? ?#如果是pardon 重新再輸出一次
getstr = ''
continue? ? ? ? ? ? ? ? ? ? ? ? ? ?#continue將結束本次執行,開始循環的下一次執行
else:
pass? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#什么也不做,保持程序完整性
if 'start'== getstr:? ? ? ? ? ? ? ? ? ?#如果getstr為start,啟動對話服務
print('...init dialog-serving...') #偽代碼,打印一些語句,代表啟動了對話服務
print('... one thing...')
print('... two thing...')
print('......')
例五:打印九九乘法表
for x in range(1,10):
l = ['%s*%s=%-2s' % (y,x,x*y) for y in range(1,x+1)]
for i in range(len(l)):
print(l[i],end=' ')
print('')
總結
以上是生活随笔為你收集整理的python带我起飞_【有书共读】python带我起飞读书笔记05的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: easyui datagrid 多表头数
- 下一篇: python设置坐标轴刻度值字体大小_p