python全棧測試題(一)
1、執行Python腳本的兩種方式
如果想要永久保存代碼,就要用文件的方式
如果想要調試代碼,就要用交互式的方式
即終端命令下和python環境中
2、Pyhton單行註釋和多行註釋分別用什麽?
python中單行註釋用# 多行註釋用‘‘‘
3、聲明變量註意事項有那些?
變量名只能是 字母、數字或下劃線的任意組合
變量名的第一個字符不能是數字
關鍵字不能聲明為變量名
4、如何查看變量在內存中的地址?
ip(變量名)
5、寫代碼
a.實現用戶輸入用戶名和密碼,當用戶名為seven且密碼為123時,顯示登陸成功,否則登陸失敗!
while true:
name = input("please input your name:").strip()
password = input("please input your password:").strip() if name == "seven" and password == "123" : print("登錄成功!") else : print("登錄失敗!")
b.實現用戶輸入用戶名和密碼,當用戶名為seven且密碼為123時,顯示登陸成功,否則登陸失敗,失敗時允許重復輸入三次
count = 0 while count < 3 : name = input("please input your name:").strip() password = input("please input your password:").strip() if name == "seven" and password == "123" : print("登錄成功!") else : print("登錄失敗!") count +=1
c.實現用戶輸入用戶名和密碼,當用戶名為seven或alex且密碼為123時,顯示登陸成功,否則登陸失敗,失敗時允許重復輸入三次
count = 0 while count < 3 : name = input("please input your name:").strip() password = input("please input your password:").strip() if (name == "seven" or name == "alex") and password == "123" : print("登錄成功!")else : print("登錄失敗!") count +=1
6、寫代碼
a.使用while循環實現輸出2-3+4-5+6...+100的和
count = 2 sun = 0 while count <= 100 : if count % 2 == 0 : sun += count else : sun -= count count += 1 print(sun)
b.使用for循環和range實現輸出1-2+3-4+5-6...+99的和
sum = 0 for i in range(1,100) : if i % 2 == 1 : sum += i else : sum -= i print(sum)
c.使用while循環實現輸出1,2,3,4,5,7,8,9,11,12
count = 1 while count <= 12 : if not (count == 6 or count == 10) : print(count) count += 1
d.使用while循環實現輸出1-100內的所有奇數
count = 1 while count <= 100 : print(count) count += 2
e.使用while循環實現輸出1-100內的所有偶數
count = 2 while count <= 100 : print(count) count += 2
7、分別書寫數字5,10,32,7的二進制表示
5:00000101 10:00001010 32:00100000 7:00000111
8、現有如下兩個變量,請簡述n1和n2是什麽關系?
1=123 n2=123 n1和n2 id相同值相同 因為它們值太小python會進行優化在內存空間中開辟一個小數值存放池
9、現有如下兩個變量,請簡述n1和n2是什麽關系?
n1=123456 n2=123456 n1和n2 id不相同值相同 n1,n2指向不同的內存空間
10、現有如下兩個變量,請簡述n1和n2是什麽關系?
n1=123456 n2=n1 n1和n2 id相同值相同 n1,n2指向同一個內存空間
11、如有以下變量n1=5,請使用int的提供的方法,得到該變量少可以用多少個二進制位表示?
n1=5
print(n1.bit_length())
12、布爾值分別有什麽?
True
Fales
13、閱讀代碼,請寫出執行結果
# a="alex" # b=a.capitalize() # print(a) # print(b) # 請寫出輸出結果: alex Alex
14、寫代碼,有如下變量,請按照要求實現每個功能
name="aleX" #a.移除name變量對應的值兩邊的空格,並輸入移除有的內容 print(name.strip()) #b.判斷name變量對應的值是否以"al"開頭,並輸出結果 print(name.startswith("al")) #c.判斷name變量對應的值是否以"X"結尾,並輸出結果 print(name.endswith("X")) #d.將name變量對應的值中的“l”替換為“p”,並輸出結果 print(name.replace("l","p")) #e.將name變量對應的值根據“l”分割,並輸出結果。 print(name.split("l")) #f.請問,上一題e分割之後得到值是什麽類型? # 列表類型 #g.將name變量對應的值變大寫,並輸出結果 print(name.upper()) #h.將name變量對應的值變小寫,並輸出結果 print(name.lower()) #i.請輸出name變量對應的值的第2個字符? print(name[1]) #j.請輸出name變量對應的值的前3個字符? print(name[0:3]) #k.請輸出name變量對應的值的後2個字符? print(name[-2:]) #l.請輸出name變量對應的值中“e”所在索引位置? print(name.find("e"))
15、字符串是否可叠代?如可以請使用for循環每一個元素?
# 可以 name = "aleX" for i in name : print(i)
16、請用代碼實現:利用下劃線將列表的每一個元素拼接成字符串,li=[‘alex‘,‘eric‘,‘rain‘]
li = [‘alex‘,‘eric‘,‘rain‘] print("_".join(li))
17、寫代碼,有如下列表,按照要求實現每一個功能
li = [‘alex‘,‘eric‘,‘rain‘] #a.計算列表長度並輸出 print(len(li)) #b.列表中追加元素“seven”,並輸出添加後的列表 li.append("seven") print(li) #c.請在列表的第1個位置插入元素“Tony”,並輸出添加後的列表 li.insert(0,"Tony") print(li) #d.請修改列表第2個位置的元素為“Kelly”,並輸出修改後的列表 li[1] = "Kelly" print(li) #e.請刪除列表中的元素“eric”,並輸出修改後的列表 li.remove("eric") print(li) #f.請刪除列表中的第2個元素,並輸出刪除的元素的值和刪除元素後的列表 lu = li.pop(1) print(lu,li) #g.請刪除列表中的第3個元素,並輸出刪除元素後的列表 li.pop(2) print(li) #h.請刪除列表中的第2至4個元素,並輸出刪除元素後的列表 li = [‘alex‘,‘eric‘,‘rain‘,‘egon‘,‘lln‘] li.pop(1) li.pop(1) li.pop(1) print(li) #i.請將列表所有的元素反轉,並輸出反轉後的列表 li.reverse() print(li) #j.請使用for、len、range輸出列表的索引 for i in range(len(li)) : print(i) #k.請使用enumrate輸出列表元素和序號(序號從100開始) for index,item in enumerate(li,100): print(index, item) #l.請使用for循環輸出列表的所有元素 for i in li : print(i)
18、寫代碼,有如下列表,請按照功能要求實現每一個功能
li=["hello",‘seven‘,["mon",["h","kelly"],‘all‘],123,446] #a.請輸出“Kelly” print(li[2][1][1]) #b.請使用索引找到‘all‘元素並將其修改為“ALL” li[2][2] = "ALL" print(li)
19、寫代碼,有如下元組,按照要求實現每一個功能
tu = (‘alex‘,‘eric‘,‘rain‘) #a.計算元組長度並輸出 print(len(tu)) #b.獲取元組的第2個元素,並輸出 print(tu[1]) #c.獲取元組的第1-2個元素,並輸出 a,b,_ = tu print(a,b) #d.請使用for輸出元組的元素 for i in tu : print(i) #e.請使用for、len、range輸出元組的索引 for i in range(len(tu)) : print(i) #f.請使用enumrate輸出元祖元素和序號(序號從10開始) for index,item in enumerate(tu,10) : print(index,item)
20、有如下變量,請實現要求的功能
tu=("alex",[11,22,{"k1":‘v1‘,"k2":["age","name"],"k3":(11,22,33)},44]) print(tu) # a.講述元祖的特性 #存多個值,元組不可變,主要是用來讀 # b.請問tu變量中的第一個元素“alex”是否可被修改? #不可以 # c.請問tu變量中的"k2"對應的值是什麽類型?是否可以被修改?如果可以,請在其中添加一個元素“Seven” # 列表 可以 tu[1][2]["k2"].append("Seven") print(tu) # d.請問tu變量中的"k3"對應的值是什麽類型?是否可以被修改?如果可以,請在其中添加一個元素“Seven” # 元組 不可以
21、字典
dic={‘k1‘:"v1","k2":"v2","k3":[11, 22, 33]} #a.請循環輸出所有的key for key in dic : print(key) for key in dic.keys() : print(key) #b.請循環輸出所有的value for key in dic : print(dic[key]) for value in dic.values() : print(value) #c.請循環輸出所有的key和value for key in dic : print(key,dic[key]) for key,value in dic.items() : print(key,value) #d.請在字典中添加一個鍵值對,"k4":"v4",輸出添加後的字典 dic["k4"] = "v4" print(dic) #e.請在修改字典中“k1”對應的值為“alex”,輸出修改後的字典 dic["k1"] = "alex" print(dic) #f.請在k3對應的值中追加一個元素44,輸出修改後的字典 dic["k3"].append(44) print(dic) #g.請在k3對應的值的第1個位置插入個元素18,輸出修改後的字典 dic["k3"].insert(0,18) print(dic)
22、轉換
# a.將字符串s="alex"轉換成列表 s = "alex" s = list(s) print(s,type(s)) # b.將字符串s="alex"轉換成元祖 s = tuple(s) print(s,type(s)) # c.將元祖tu=(‘Alex‘,"seven")轉換成列表 tu=(‘Alex‘,"seven") tu = list(tu) print(tu,type(tu)) # d.將列表li=["alex","seven"]轉換成字典且字典的key按照10開始向後遞增 li=["alex","seven"] dic = {} for key,value in enumerate(li,10): dic.setdefault(key,value) print(dic,type(dic))
23、求1-100內的所有數的和
num = 0 for i in range(1,101) : num += i print(num)
24、元素分類
#有如下值集合[11,22,33,44,55,66,77,88,99,90],將所有大於66的值保存至字典的第一個key中,將小於66的值保存至第二個key的值中。 #即:{‘k1‘:大於66的所有值,‘k2‘:小於66的所有值} x = {"k1":[],"k2":[]} y = [11,22,33,44,55,66,77,88,99,90] for i in y : if i > 66 : x["k1"].append(i) else : x["k2"].append(i) print(x)
25、購物車
# 功能要求: # 要求用戶輸入總資產,例如:2000 # 顯示商品列表,讓用戶根據序號選擇商品,加入購物車 # 購買,如果商品總額大於總資產,提示賬戶余額不足,否則,購買成功。 #goods = [ #{"name":"電腦","price":1999}, #{"name":"鼠標","price":10}, #{"name":"遊艇","price":20}, #] goods = [ {"name":"電腦","price":1999}, {"name":"鼠標","price":10}, {"name":"遊艇","price":20}, ] tag = True shop_cart = [] #購物車 while tag : ppt = input("please input your property:").strip() if not ppt or not ppt.isdigit() : continue for i,value in enumerate(goods,1) : print(i,value["name"],value["price"]) ppt_l = 0 #總消費 while tag : num = input("Select item number add to shop_cart:").strip() if not num.isdigit() : continue elif int(num) == 1 or int(num) == 2 or int(num) == 3: num_l = int(num) n = goods[num_l-1]["name"] p = goods[num_l-1]["price"] ppt_l += p shop_cart.append((n,p)) else : continue print(shop_cart) while tag : cmd = input("Continue to buy? y/n ").strip() if cmd == "n" or cmd =="N" : if ppt_l > int(ppt) : print("賬戶余額不足!") else : print("購買成功!") tag = False if cmd == "y" or cmd == "Y" : break
python全棧測試題(一)