全栈作业(一)
共計(jì)30題
1、執(zhí)行Python 腳本的兩種方式
使用python解釋器(python aa.py)或在unix系統(tǒng)下賦值成777,執(zhí)行(./aa.py)2、簡(jiǎn)述位、字節(jié)的關(guān)系
1個(gè)byte = 8bit,在ASCII表中,一共有255個(gè)字符,一個(gè)字符占8位。3、簡(jiǎn)述ascii、unicode、utf--‐8、gbk 的關(guān)系
最初的計(jì)算機(jī)是由美國(guó)人發(fā)明的,制定了一張包含他們能用到的所有字符和計(jì)算機(jī)能理解的數(shù)字的對(duì)應(yīng)關(guān)系。隨著計(jì)算機(jī)的發(fā)展和普及,各國(guó)都制定了自己的編碼,那么ASCII也容納不了且無(wú)法形成統(tǒng)一標(biāo)準(zhǔn),就推出了Unicode(萬(wàn)國(guó)碼)。utf-8是可變長(zhǎng)的編碼,是unicode原 本占2個(gè)字節(jié)的英文被編碼成1個(gè)字節(jié),漢字是3個(gè)字節(jié),生僻的字符占4-6個(gè)字節(jié),節(jié)省了傳輸英文編寫文檔的空間。gbk是中國(guó)人自己的字符集,容納了2萬(wàn)1千多個(gè)字符。4、請(qǐng)寫出“李杰”分別用utf--‐8 和gbk 編碼所占的位數(shù)
utf-8用6個(gè)字節(jié)表示2個(gè)漢字,gbk用4個(gè)字節(jié)5、Pyhton 單行注釋和多行注釋分別用什么?
單行注釋用“#”,多行注釋用'''注釋內(nèi)容'''6、聲明變量注意事項(xiàng)有那些?
(1)不能以數(shù)字開(kāi)頭(2)只能是字母、數(shù)字或下劃線的任意組合,但不能有特殊字符(3)關(guān)鍵字通常不能聲明為變量8、如何查看變量在內(nèi)存中的地址?
id(變量名)9、執(zhí)行Python程序時(shí),自動(dòng)生成的.pyc文件的作用是什么?
.pyc文件是由.py文件經(jīng)過(guò)編譯后生成的字節(jié)碼文件,其加載速度相對(duì)于之前的.py文件有所提高,且實(shí)現(xiàn)了源碼隱藏,以及一定程度上的反編譯。一般是import其他py文件的時(shí)候會(huì)生成。10、寫代碼
a.實(shí)現(xiàn)用戶輸入用戶名和密碼,當(dāng)用戶名為seven且密碼為123時(shí),顯示登陸成功,否則登陸失敗。
user = input("Username: ").strip() passwd = input("Password: ").strip() if user == "seven" and passwd == "123":print("Welcome to back,",user) else:print("Incorrect username or password!")b.實(shí)現(xiàn)用戶輸入用戶名和密碼,當(dāng)用戶名為seven且密碼為123時(shí),顯示登陸成功,否則登陸失敗,失敗時(shí)允許重復(fù)輸入三次
for i in range(3):user = input("Username: ").strip()passwd = input("Password: ").strip()if user == "seven" and passwd == "123":print("Welcome to back,",user)breakelse:print("Incorrect username or password!")c.實(shí)現(xiàn)用戶輸入用戶名和密碼,當(dāng)用戶名為seven或alex且密碼為123時(shí),顯示登陸成功,否則登陸失敗,失敗時(shí)允許重復(fù)輸入三次
for i in range(3):user = input("Username: ").strip()passwd = input("Password: ").strip()if user == "seven" or user == "alex" and passwd == "123":print("Welcome to back,",user)breakelse:print("Incorrect username or password!")11、寫代碼
a.使用while 循環(huán)實(shí)現(xiàn)輸出2‐3+4‐5+6...+100的和
b.使用for 循環(huán)和range 實(shí)現(xiàn)輸出1-2+3‐4+5‐6...+99的和
num = 0 for i in range(99):if i % 2 == 0:num = num - ielse:num = num + i print(num)-49
c.使用while 循環(huán)實(shí)現(xiàn)輸出1,2,3,4,5,7,8,9,11,12
i = 0 while i < 12:i +=1if i == 6 or i == 10:continueelse:print(i)d.使用while 循環(huán)實(shí)現(xiàn)輸出1--‐100內(nèi)的所有奇數(shù)
i = 1 while i<=100:if i % 2 != 0:print(i)i +=1e.使用while 循環(huán)實(shí)現(xiàn)輸出1--‐100內(nèi)的所有偶數(shù)
i = 1 while i<=100:if i % 2 == 0:print(i)i +=112、分別書寫數(shù)字5,10,32,7 的二進(jìn)制表示
101 1010 100000 11113、簡(jiǎn)述對(duì)象和類的關(guān)系(可用比喻的手法)
類是抽象的概念,為所有對(duì)象定義了抽象的屬性與行為,對(duì)象是類的一個(gè)具體。是一個(gè)實(shí)實(shí)在在的東西。比如人類是所有人的一個(gè)統(tǒng)稱,具體的你、我、他是其中的對(duì)象。14、現(xiàn)有如下兩個(gè)變量,請(qǐng)簡(jiǎn)述n1和n2是什么關(guān)系?
n1=123
n2=123
n1和n2指向同一塊內(nèi)存地址,數(shù)值是12315、現(xiàn)有如下兩個(gè)變量,請(qǐng)簡(jiǎn)述n1和n2是什么關(guān)系?
n1=123456
n2=123456
開(kāi)辟了2個(gè)內(nèi)存地址存放數(shù)據(jù)123456,并分別起了個(gè)名稱為n1和n2.16、現(xiàn)有如下兩個(gè)變量,請(qǐng)簡(jiǎn)述n1和n2是什么關(guān)系?
n1=123456
n2=n1
17、如有一下變量n1=5,請(qǐng)使用int 的提供的方法,得到該變量最少可以用多少個(gè)二進(jìn)制位表示?
18、布爾值分別有什么?
布爾值有True和False19、閱讀代碼,請(qǐng)寫出執(zhí)行結(jié)果
a="alex"
b=a.capitalize()
print(a)
print(b)
請(qǐng)寫出輸出結(jié)果:
print(a) alex print(b) Alex20、寫代碼,有如下變量,請(qǐng)按照要求實(shí)現(xiàn)每個(gè)功能
name=" aleX"
a.移除name 變量對(duì)應(yīng)的值兩邊的空格,并輸入移除有的內(nèi)容
?
b.判斷name 變量對(duì)應(yīng)的值是否以"al"開(kāi)頭,并輸出結(jié)果
print(name.startswith("al")) 執(zhí)行結(jié)果 Falsec.判斷name 變量對(duì)應(yīng)的值是否以"X"結(jié)尾,并輸出結(jié)果
print(name.endswith("X")) 執(zhí)行結(jié)果 Trued.將name 變量對(duì)應(yīng)的值中的“l(fā)”替換為“p”,并輸出結(jié)果
print(name.replace("l","p")) 執(zhí)行結(jié)果 apeXe.將name 變量對(duì)應(yīng)的值根據(jù)“l(fā)”分割,并輸出結(jié)果。
print(name.split("l")) 執(zhí)行結(jié)果 [' a', 'eX']f.請(qǐng)問(wèn),上一題e分割之后得到值是什么類型?
列表g.將name 變量對(duì)應(yīng)的值變大寫,并輸出結(jié)果
print(name.upper()) 執(zhí)行結(jié)果 ALEXh.將name 變量對(duì)應(yīng)的值變小寫,并輸出結(jié)果
print(name.lower()) 執(zhí)行結(jié)果 alexi.請(qǐng)輸出name 變量對(duì)應(yīng)的值的第2 個(gè)字符?
print(name[1]) 執(zhí)行結(jié)果 aj.請(qǐng)輸出name 變量對(duì)應(yīng)的值的前3 個(gè)字符?
print(name[:3]) 執(zhí)行結(jié)果alk.請(qǐng)輸出name 變量對(duì)應(yīng)的值的后2 個(gè)字符?
print(name[-2:]) 執(zhí)行結(jié)果 eXl.請(qǐng)輸出name 變量對(duì)應(yīng)的值中“e”所在索引位置?
print(name.index("e")) 執(zhí)行結(jié)果 321、字符串是否可迭代?如可以請(qǐng)使用for 循環(huán)每一個(gè)元素?
name = " aleX" for i in name:print(i)22、請(qǐng)用代碼實(shí)現(xiàn):利用下劃線將列表的每一個(gè)元素拼接成字符串,li=['alex','eric','rain']
li = ["alex","eric","rain"] for i in li:print("_".join(i))執(zhí)行結(jié)果 a_l_e_x e_r_i_c r_a_i_n22、寫代碼,有如下列表,按照要求實(shí)現(xiàn)每一個(gè)功能
li=['alex','eric','rain']
a.計(jì)算列表長(zhǎng)度并輸出
print(len(li)) 執(zhí)行結(jié)果 3b.列表中追加元素“seven”,并輸出添加后的列表
li.append("seven") print(li) 執(zhí)行結(jié)果 ['alex', 'eric', 'rain', 'seven']c.請(qǐng)?jiān)诹斜淼牡?個(gè)位置插入元素“Tony”,并輸出添加后的列表
li.insert(0,"Tony") print(li) 執(zhí)行結(jié)果 ['Tony', 'alex', 'eric', 'rain']d.請(qǐng)修改列表第2個(gè)位置的元素為“Kelly”,并輸出修改后的列表
li[1] = "Kelly" print(li) 執(zhí)行結(jié)果 ['alex', 'Kelly', 'rain']e.請(qǐng)刪除列表中的元素“eric”,并輸出修改后的列表
li.remove("eric") print(li) 執(zhí)行結(jié)果 ['alex', 'rain']f.請(qǐng)刪除列表中的第2個(gè)元素,并輸出刪除的元素的值和刪除元素后的列表
>>> li.pop(1) 'eric' >>> li ['alex', 'rain']g.請(qǐng)刪除列表中的第3個(gè)元素,并輸出刪除元素后的列表
>>> li = ["alex","eric","rain"] >>> li.pop() 'rain' >>> li ['alex', 'eric']h.請(qǐng)刪除列表中的第2 至4 個(gè)元素,并輸出刪除元素后的列表
>>> li = ['alex', 'eric', 'rain', 'seven'] >>> del li[1:] >>> li ['alex']i.請(qǐng)將列表所有的元素反轉(zhuǎn),并輸出反轉(zhuǎn)后的列表
>>> li = ["alex","eric","rain"] >>> li.reverse() >>> li ['rain', 'eric', 'alex']j.請(qǐng)使用for、len、range 輸出列表的索引
li = ["alex","eric","rain"] for index in range(len(li)):print(index,li[index]) 執(zhí)行結(jié)果 0 alex 1 eric 2 raink.請(qǐng)使用enumrate 輸出列表元素和序號(hào)(序號(hào)從100 開(kāi)始)
li = ["alex","eric","rain"] for index,value in enumerate(li,100):print(index,value) 執(zhí)行結(jié)果 100 alex 101 eric 102 rainl.請(qǐng)使用for 循環(huán)輸出列表的所有元素
li = ["alex","eric","rain"] for i in li:for item in i:print(item) 執(zhí)行結(jié)果 a l e x e r i c r a i n23、寫代碼,有如下列表,請(qǐng)按照功能要求實(shí)現(xiàn)每一個(gè)功能
li=["hello",'seven',["mon",["h","kelly"],'all'],123,446]
a.請(qǐng)輸出“Kelly”
>>> li = ["hello","seven",["mon",["h","kelly"],"all"],123,446] >>> li[2][1][1] 'kelly'b.請(qǐng)使用索引找到'all'元素并將其修改為“ALL”
>>> li[2][2] = "ALL" >>> li ['hello', 'seven', ['mon', ['h', 'kelly'], 'ALL'], 123, 446]24、寫代碼,有如下元組,按照要求實(shí)現(xiàn)每一個(gè)功能
tu=('alex','eric','rain')
a.計(jì)算元組長(zhǎng)度并輸出
>>> tu = ("alex","eric","rain") >>> len(tu) 3b.獲取元組的第2個(gè)元素,并輸出
>>> tu[1] 'eric'c.獲取元組的第1--‐2個(gè)元素,并輸出
>>> tu[:2] ('alex', 'eric')d.請(qǐng)使用for 輸出元組的元素
tu = ("alex","eric","rain") for i in tu:print(i) 執(zhí)行結(jié)果 alex eric raine.請(qǐng)使用for、len、range 輸出元組的索引
tu = ("alex","eric","rain") for index in range(len(tu)):print(index,tu[index]) 執(zhí)行結(jié)果 0 alex 1 eric 2 rainf.請(qǐng)使用enumrate 輸出元祖元素和序號(hào)(序號(hào)從10 開(kāi)始)
tu = ("alex","eric","rain") for index,values in enumerate(tu,10):print(index,values) 執(zhí)行結(jié)果 10 alex 11 eric 12 rain25、有如下變量,請(qǐng)實(shí)現(xiàn)要求的功能
tu=("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
a.講述元組的特性
不可變類型,一旦一個(gè)對(duì)象被定義了,它的值就不能再被修改,如果包含可變的列表,字典等值,那這些值可以改變b.請(qǐng)問(wèn)tu 變量中的第一個(gè)元素“alex”是否可被修改?
不能被修改c.請(qǐng)問(wèn)tu 變量中的"k2"對(duì)應(yīng)的值是什么類型?是否可以被修改?如果可以,請(qǐng)?jiān)谄渲刑砑右粋€(gè)元素“Seven”
k2對(duì)應(yīng)的值是列表類型,可以被修改. >>> tu = ("alex",[11,22,{"k1":"v1","k2":["age","name"],"k3":(11,22,33)},44]) >>> tu[1][2]["k2"].append("Seven") >>> tu ('alex', [11, 22, {'k1': 'v1', 'k2': ['age', 'name', 'Seven'], 'k3': (11, 22, 33)}, 44])d.請(qǐng)問(wèn)tu 變量中的"k3"對(duì)應(yīng)的值是什么類型?是否可以被修改?如果可以,請(qǐng)?jiān)谄渲刑砑右粋€(gè)元素“Seven”
k3對(duì)應(yīng)的類型是元組,不能被修改26、字典
dic={'k1':"v1","k2":"v2","k3":[11,22,33]}
a.請(qǐng)循環(huán)輸出所有的key
for keys in dic.keys():print(keys) 執(zhí)行結(jié)果 k1 k2 k3b.請(qǐng)循環(huán)輸出所有的value
for values in dic.values():print(values) 執(zhí)行結(jié)果 v1 v2 [11, 22, 33]c.請(qǐng)循環(huán)輸出所有的key 和value
dic = {"k1":"v1","k2":"v2","k3":[11,22,33]} for k,v in dic.items():print(k,v) 執(zhí)行結(jié)果 k1 v1 k3 [11, 22, 33] k2 v2d.請(qǐng)?jiān)谧值渲刑砑右粋€(gè)鍵值對(duì),"k4":"v4",輸出添加后的字典
dic.setdefault("k4","v4") print(dic) 執(zhí)行結(jié)果 {'k2': 'v2', 'k3': [11, 22, 33], 'k1': 'v1', 'k4': 'v4'}e.請(qǐng)?jiān)谛薷淖值渲小発1”對(duì)應(yīng)的值為“alex”,輸出修改后的字典
dic["k1"] = "alex"print(dic)執(zhí)行結(jié)果{'k3': [11, 22, 33], 'k2': 'v2', 'k1': 'alex'}f.請(qǐng)?jiān)趉3 對(duì)應(yīng)的值中追加一個(gè)元素44,輸出修改后的字典
dic["k3"].append("44") print(dic) 執(zhí)行結(jié)果 {'k3': [11, 22, 33, '44'], 'k2': 'v2', 'k1': 'v1'}g.請(qǐng)?jiān)趉3 對(duì)應(yīng)的值的第1個(gè)位置插入個(gè)元素18,輸出修改后的字典
dic["k3"][0] = "18" print(dic) 執(zhí)行結(jié)果 {'k3': ['18', 22, 33], 'k2': 'v2', 'k1': 'v1'}27、轉(zhuǎn)換
a.將字符串s="alex"轉(zhuǎn)換成列表
s = "alex" print(list(s)) 執(zhí)行結(jié)果 ['a', 'l', 'e', 'x']b.將字符串s="alex"轉(zhuǎn)換成元組
s = "alex" print(tuple(s)) 執(zhí)行結(jié)果 ('a', 'l', 'e', 'x')b.將列表li=["alex","seven"]轉(zhuǎn)換成元組
li = ["alex","seven"] print(tuple(li)) 執(zhí)行結(jié)果 ('alex', 'seven')c.將元組tu=('Alex',"seven")轉(zhuǎn)換成列表
tu = ("alex","seven") print(list(tu)) 執(zhí)行結(jié)果 ['alex', 'seven']d.將列表li=["alex","seven"]轉(zhuǎn)換成字典且字典的key 按照10開(kāi)始向后遞增
li = ["alex","seven"]dic = {}
for i,v in enumerate(li,10):
dic.setdefault(i,v)
print(dic) 執(zhí)行結(jié)果 {'seven': 11, 'alex': 10}
27、轉(zhuǎn)碼
n="老男孩"
a.將字符串轉(zhuǎn)換成utf--‐8 編碼的字節(jié),并輸出,然后將該字節(jié)再轉(zhuǎn)換成utf--‐8 編碼字符串,再輸出
print(n.encode(encoding="utf-8")) 執(zhí)行結(jié)果 b'\xe8\x80\x81\xe7\x94\xb7\xe5\xad\xa9' print("\xe8\x80\x81\xe7\x94\xb7\xe5\xad\xa9".encode(encoding="utf-8")) 執(zhí)行結(jié)果 b'\xc3\xa8\xc2\x80\xc2\x81\xc3\xa7\xc2\x94\xc2\xb7\xc3\xa5\xc2\xad\xc2\xa9'a.將字符串轉(zhuǎn)換成gbk 編碼的字節(jié),并輸出,然后將該字節(jié)再轉(zhuǎn)換成gbk 編碼字符串,再輸出
print(n.encode(encoding="gbk")) 執(zhí)行結(jié)果 b'\xc0\xcf\xc4\xd0\xba\xa2' print("\xc0\xcf\xc4\xd0\xba\xa2".encode(encoding="gbk")) 執(zhí)行結(jié)果 UnicodeEncodeError: 'gbk' codec can't encode character '\xc0' in position 0: illegal multibyte sequence28、求1--‐100 內(nèi)的所有數(shù)的和
a = 0 for i in range(0,100):a += (i+1)print(a) 執(zhí)行結(jié)果 505029、元素分類
有如下值集合[11,22,33,44,55,66,77,88,99,90],將所有大于66的值保存至字典的第一個(gè)key 中,將小于66的值保存至第二個(gè)key 的值中。即:{'k1':大于66 的所有值,'k2':小于66 的所有值}
30、購(gòu)物車
功能要求:
要求用戶輸入總資產(chǎn),例如:2000
顯示商品列表,讓用戶根據(jù)序號(hào)選擇商品,加入購(gòu)物車
購(gòu)買,如果商品總額大于總資產(chǎn),提示賬戶余額不足,否則,購(gòu)買成功。
goods=[{"name":"電腦","price":1999},
{"name":"鼠標(biāo)","price":10},
{"name":"游艇","price":20},
{"name":"美女","price":998},
]
轉(zhuǎn)載于:https://www.cnblogs.com/1qaz/p/6407156.html
總結(jié)
- 上一篇: hdu 1806 Frequent va
- 下一篇: JSON C# Class Genera