1. 程式人生 > >python全棧測試題(一)

python全棧測試題(一)

span hello sdi 執行 python腳本 pan 數字 ice 登錄

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全棧測試題(一)