標籤:sage decode 翻譯 bcd option sprint follow 行操作 F12
# Author:Source#-*-coding:utf-8 -*-#使用第三方庫,import 庫名‘‘‘import getpasspassword=getpass.getpass(‘Please input your password:‘)print(password)‘‘‘#自己建一個庫,要讓其生效要放在同一目錄,或者放在site-packages(第三方庫)。若是在不同目錄,需要添加新路徑。‘‘‘account=input(‘input account!‘.capitalize())password=input(‘import something‘.capitalize())‘‘‘#模組初識(os模組)os模組就是對作業系統進行操作import osos.system(‘dir‘)#列印目前的目錄名稱資訊,結果是直接輸出到螢幕,不能儲存。cmd_res=os.popen(‘dir‘)#記憶體的對象地址#os.mkdir(‘attempt‘)#建立檔案夾#print(cmd_res.read())#模組初識(sys模組)import sysprint(sys.path)#列印環境變數,模組的地址print(sys.argv)#指令碼相對路徑 ,取參數#編譯型語言是在程式執行之前,先通過編譯器將進階語言轉化為機器所能讀懂的機器語言。在執行時不需要翻譯,直接執行就可以了。#典型的例子是C語言。解釋型語言是在程式執行時解譯器逐行對程式進行解釋,然後直接運行。python也是一門先編譯後解釋的語言。#Python運行過程:python程式運行時先將編譯結果儲存到位於記憶體的PyCodeObject,運行結束時python解譯器將結果寫到pyc檔案中。#下次運行程式時,python程式會先檢查硬碟中的pyc檔案,否則再重複上面動作。當程式更新時,會檢查pyc檔案與來源程式的更新時間。#資料類型。整數,長整數是比較大的數字。3.24是浮點數,5.24E-4指的是5.24*10^-4。#int類型。在32位中-2**32——2**32-1,在64為-2**63——2**63-1。#long(長整型),在python2.2起沒了。#三元運算‘‘‘number=input(‘Please input a number:‘)if number.isdigit(): number=int(number)result = ‘adult‘.capitalize() if number>=18 else ‘nonage‘.capitalize()print(result)‘‘‘#進位轉換#1、二進位轉化為十六進位,取四合一法,即從二進位的小數點為分界點,向左(或向右)每四位取成一位。當取到最高位(最低位)如果#無法湊足四位,就可以在小數點的最左邊(或最右邊)補0,進行換算。#十六進位用字母H表示,也可以用0X首碼表示,比如0X。#十六進位轉二進位。方法是一份四,即一個十六進位數分為四個位元。‘‘‘number_decimalism=input(‘Please input a decimalism numeral:‘)if number_decimalism.isdigit(): number_decimalism=int(number_decimalism) print(‘十進位數為:‘,number_decimalism) print(‘轉換為位元:‘,bin(number_decimalism)) print(‘轉換為八位元:‘,oct(number_decimalism)) print(‘轉換為十六進位:‘,hex(number_decimalism))else: print(‘\033[31;1mPlease input legal numeral!\033[0m‘)‘‘‘#字串str與二進位bytes轉換#string通過encode變成bytesconding=‘s12‘.encode(‘utf-8‘)print(conding)#bytes通過decode編程stringprint(conding.decode())#列表元組操作#建立列表,列表中的內容用逗號隔離list=[‘datou‘,‘erbai‘,‘sanmao‘,‘lisi‘,‘wangwu‘]#切片操作,顧頭不顧尾print(list)print(list[2])#切片第三個print(list[0:2])#切片前兩個print(list[:2])#切片前兩個print(list[1:4])#切片中間三個print(list[2:5])#切片最後三個print(list[2:])#切片最後三個print(list[-1])#切片最右邊一個print(list[-3:])#切片最右邊三個#增添操作list.append(‘liuliu‘)#直接添加list.insert(1,‘erB‘)#指定位置添加print(list)#修改列表值list[1]=‘ZhenErB‘print(list)#刪除list.remove("lisi")print(list)del list[1]print(list)list.pop(0)print(list)#尋找print(list.index("wangwu"))#顯示查詢資料在列表位置,用列表的下標表示print(list[list.index("wangwu")])#統計print(list.count(‘liuliu‘))#清空print(list.clear())#添加list.append("jiaren")print(list)list.insert(0,‘jialing‘)print(list)#反轉list.reverse()print(list)#排序,定序可能是頭字元的類型,一部分特殊字元>數字>另一部分特殊字元>英文>漢語list.append(‘12a‘)list.append(‘a2‘)list.append(‘>a1‘)list.append(‘b2‘)list.append(‘&a2‘)list.append(‘2b‘)list.append(‘<s2‘)list.append(‘中文‘)list.append(‘翻譯‘)list.sort()print(list)#反轉fake_list=[‘wanglaoban‘,[‘lidatou‘,‘找到我了‘],‘xiaxiage‘]print(list)print(fake_list)print(fake_list[1][1])list.extend(fake_list)print(list)#淺COPYimport copynew_list=[‘dageda‘,[‘xiaobudian‘,‘dabudian‘],‘sanmaoge‘,‘zaodiansi‘,‘wanglaowu‘]shallow1=copy.copy(new_list)#方法一copy_new_list=new_list.copy()#方法二shallow2=new_list[:]#方法三print(copy_new_list)print(new_list)copy_new_list[1][1]=‘改了就一塊改‘print(copy_new_list)print(new_list)print(shallow1)print(shallow2)#深copyimport copydeep_copy_new_list=copy.deepcopy(new_list)print(deep_copy_new_list)print(new_list)deep_copy_new_list[1][1]=‘這個時候可以改了‘print(deep_copy_new_list)print(new_list)#字串操作attempt=‘gJy121‘print(attempt.capitalize())#將首字母變為大寫print(attempt.casefold())#將大寫字母全部變為小寫字母print(attempt.center(50,‘.‘))#設定一個範圍,然後用符號填充剩餘的空間print(attempt.count(‘g‘))#統計字元出現的次數,可以選擇開始結束為位置print(attempt.encode(‘GB18030‘))#指定編碼編譯print(‘gJy121\t gg‘.expandtabs(40))#指定空格的長度print(attempt.endswith(‘1‘))#結束的標誌是否是該字元。是則True,錯則Falseprint(‘My Name is {Name} and my occupation is {occupation}.‘.format(Name=‘GJY‘,occupation=‘habitual loafer‘))#Methods 1print(‘My Name is {0} and my occupation is {1}.‘.format(‘GJY‘,‘habitual loafer‘))#Methods 2,{}得從0開始print(attempt.find(‘2‘,0,5))#Python find() 方法檢測字串中是否包含子字串 str ,如果指定 beg(開始) 和 end(結束) 範圍,# 則檢查是否包含在指定範圍內,如果包含子字串返回開始的索引值,否則返回-1。print(‘My Name is {Name} and my occupation is {occupation}.‘.format_map({‘Name‘:‘GJY‘,‘occupation‘:‘habitual loafer‘}))print(attempt.index(‘g‘))#查詢目標的第一個下標,不存在會報錯print(attempt.isdigit())#查詢是否是數字print(attempt.isalnum())#檢測字串是否由字母和數字組成。print(attempt.isalpha())#所有字元都是字母則Trueprint(attempt.isdecimal())#Python isdecimal() 方法檢查字串是否只包含十進位字元print(attempt.isidentifier())#檢測字串是否是字母開頭print(attempt.islower())#Python islower() 方法檢測字串是否由小寫字母組成。print(attempt.isnumeric())#Python isnumeric() 方法檢測字串是否只由數字組成。這種方法是只針對unicode對象。print(attempt.isprintable())#判斷是否為可列印字元print(attempt.isspace())#Python isspace() 方法檢測字串是否只由空格組成。print(attempt.istitle())#Python istitle() 方法檢測字串中所有的單詞拼字首字母是否為大寫,且其他字母為小寫。print(attempt.isupper())##Python isupper() 方法檢測字串中所有的字母是否都為大寫。print(‘+‘.join([‘24‘,‘6‘,‘98‘]))#Python isupper() 方法檢測字串中所有的字母是否都為大寫。print(‘+‘.join(‘246810‘))print(attempt.ljust(50,‘$‘))#Python ljust() 方法返回一個原字串靠左對齊,並使用空格填充至指定長度的新字串。如果指定的長度小於原字# 符串的長度則返回原字串。print(attempt.rjust(50,‘%‘))#Python rjust() 方法返回一個原字串靠右對齊,並使用空格填充至指定長度的新字串。如果指定的長度小於原字# 符串的長度則返回原字串。print(attempt.lower())#Python lower() 方法轉換字串中所有大寫字元為小寫。print(attempt.swapcase())#swapcase() 方法用於對字串的大小寫字母進行轉換。print(‘ \nstrip‘.lstrip())#Python lstrip() 方法用於截掉字串左邊的空格或指定字元。print(‘strip\n ‘.rstrip())#Python rstrip() 方法用於截掉字串右邊的空格或指定字元。print(‘ \nstrip \n‘.strip())#截斷字串左右兩邊的空格或指定字元。#Python maketrans() 方法用於建立字元對應表的轉換表,對於接受#兩個參數的最簡單的調用方式,第一個參數是字串,表示需要轉換的字元,第二個參數也是字串表示轉換的目標。plaintext=‘123456‘encrypt=‘abcdef‘a=str.maketrans(plaintext,encrypt)example=‘852643‘print(example.translate(a))print(‘source123‘.partition(‘1‘))#partition() 方法用來根據指定的分隔字元將字串進行分割。#Python replace() 方法把字串中的 old(舊字串) 替換成 new(新字串),如果指定第三個參數max,則替換不超過 max 次。print(‘source123‘.replace(‘so‘,‘re‘))print(‘heafafaeh‘.rfind(‘h‘))#Python rfind() 返回字串最後一次出現的位置,如果沒有匹配項則返回-1。print(‘finally‘.rindex(‘lly‘))#Python rindex() 返回子字串 str 在字串中最後出現的位置,# 如果沒有匹配的字串會報異常,你可以指定選擇性參數[beg:end]設定尋找的區間。print(‘fadf12sa1‘.rpartition(‘1‘))#partition() 方法用來根據指定的分隔字元將字串進行分割。從右向左。#與partition區別print(‘fadf12sa1‘.partition(‘1‘))#Python rsplit() 方法通過指定分隔字元對字串進行分割並返回一個列表,預設分隔符號為所有Null 字元,#包括空格、換行(\n)、定位字元(\t)等。類似於 split() 方法,只不過是從字串最後面開始分割。print(‘faf\tafd\n123 44‘.rsplit())#Python splitlines() 按照行(‘\r‘, ‘\r\n‘, \n‘)分隔,# 返回一個包含各行作為元素的列表,如果參數 keepends 為 False,不包含分行符號,如果為 True,則保留分行符號。print(‘faf\rafd\n123\r\n44‘.splitlines(True))print(‘fadf12sa1‘.split(‘1‘))#Python split() 通過指定分隔字元對字串進行切片,如果參數 num 有指定值,則僅分隔 num 個子字串#與partition的區別:split不包含分割符#Python startswith() 方法用於檢查字串是否是以指定子字串開頭,如果是則返回 True,# 否則返回 False。如果參數 beg 和 end 指定值,則在指定範圍內檢查。print(attempt.startswith(‘gJy‘))print(‘hello world!‘.title())#Python title() 方法返回"標題化"的字串,就是說所有單詞的首個字母轉化為大寫,其餘字母均為小寫print(attempt.upper())#Python upper() 方法將字串中的小寫字母轉為大寫字母。print(attempt.zfill(50))#Python zfill() 方法返回指定長度的字串,原字串靠右對齊,前面填充0#字典操作dictionary={ ‘casual1‘:‘number1‘, ‘casual2‘:‘number2‘, ‘casual3‘:‘number3‘, ‘casual4‘:‘number4‘}print(dictionary)#查字典print(dictionary[‘casual3‘])#要去索引值要正確print(dictionary.get(‘casual2‘))print(‘casuall‘ in dictionary)#改字典dictionary[‘casual1‘]=‘Yanghuizhen‘dictionary[‘cannot help but‘]=‘yang hui zhen‘.title()#不存在則添加print(dictionary)#刪除dictionary.pop(‘cannot help but‘)del dictionary[‘casual4‘]print(dictionary)dictionary.popitem()#重新運行會重新隨機刪除print(dictionary)#多級字典嵌套操作‘‘‘message={ ‘Source‘:{ ‘age‘:[‘23‘], ‘education background‘:{‘Yango University ‘:[‘graduate‘]} }, ‘Yang‘:{ ‘age‘:[‘23‘], ‘interset‘:[‘To you i know nothing about.‘] }}#查字典print(message.get(‘Source‘))print(message[‘Yang‘][‘age‘])print(‘Source‘in message)#改字典message[‘Source‘][‘AGE‘.lower()]=‘24‘message.setdefault(‘Hero‘,{ ‘age‘:[‘20‘], ‘significance‘:[‘i don not know.‘.capitalize()]})#添加print(message)‘‘‘print(dictionary)print(dictionary.values())print(dictionary.keys())Reserve={ ‘Pengfei‘:‘zui shuai‘.capitalize()}dictionary.update(Reserve)print(dictionary,‘\n‘,Reserve)#items將字典轉化為列表print(dictionary)print(dictionary.items())#fromkeys()函數用於建立一個新字典,以序列 seq 中元素做字典的鍵,value 為字典所有鍵對應的初始值。dictionary2=dict.fromkeys([1,2,3],[‘a‘,‘b‘,‘c‘])print(dictionary2)dictionary2[1][1]=‘x‘print(dictionary2)#迴圈dictdictionary.items()for items in dictionary: print(items,dictionary[items])for items,i in dictionary.items(): print(items,i)#New shopping:# Author:Sourcefile_money=open(‘money.txt‘,mode=‘r‘)read_file_moeny=file_money.read()print(‘Your balance have:‘,read_file_moeny)if read_file_moeny==‘‘ : while True: salary=input("Please you input your salary:") if salary.isdigit(): salary=int(salary) break else: print(‘text is not a legal character.‘.capitalize()) continueelse: if read_file_moeny.isdigit(): read_file_moeny=int(read_file_moeny) salary=read_file_moeny else: print("text is not a legal character.".capitalize())commodity=[("iphoneX".title(),8388),("ipad mini4".title(),2400),("dragon fruit".title(),6),("alkaline mineral water".title(),2),("toothpaste".title(),12),]shopping_cart=[]#print(commodity)while True: for item in commodity: print(commodity.index(item),item) #for i,item in enumerate(commodity):#python 的for in # print(i,item) number=input("Fancy a commodity:") if number.isdigit(): number=int(number) print(len(commodity)) if number<len(commodity) and number>=0: list_price=commodity[number] if list_price[1] <= salary: shopping_cart.append(list_price) salary-=list_price[1] print("You aleady buy %s and your balance have \033[31;1m%s\033[0m."%(shopping_cart,salary)) else: print("\033[31;1mYour balance is not enough.\033[0m") if commodity[3][1]>salary: while True: print(‘\033[31;1mYou don\‘ not have much monty.Do you want to increase your savings?\033[0m‘.capitalize()) Increase=input(‘Y or N‘) if Increase==‘Y‘: while True: salary=input(‘how much money do you want to deposit? ‘.capitalize()) if salary.isdigit(): salary=int(salary) break else: print("\033[31;1millegal character.\033[0m".capitalize()) continue elif Increase==‘N‘: break else: continue else: print("\033[41;1mFollow option\033[0m") elif number==‘q‘: print("You aleady buy %s and your balance have \033[31;1m%s\033[0m."%(shopping_cart,salary)) file_money=open(‘money.txt‘,mode=‘w‘) file_money.write(str(salary)) file_commodity=open(‘commodity.txt‘,mode=‘a‘) file_commodity.write(str(shopping_cart)) exit() else: print("\033[31;1mInput error!\033[0m")
Python學習之路第二周匯總