標籤:gbk 數字 reverse 定位 info 使用 關鍵詞 dev rest
1. 分別解釋"=","==","+="的含義(口述)
=為指派陳述式,把一個變數值賦予另一個值== 為條件判斷,判斷兩個值是否相等+= 為賦值 a+=1 意思就是a=a+1
2.兩個變數值的關係?(口述)
n1 = 123456
n2 = n1
將123456賦予n1, 然後將n1賦予n2, 意思就是n1 n2指向123456這個地址
3. 請寫出 “路飛學城” 分別用 utf-8 和 gbk 編碼所佔的位元(口述)
一個中文用utf-8 表示佔3位元組 GBK佔2位元組 所以路飛學城用utf-8表示佔12位元組 GBK佔8位元組其中12位元組相當於96位 8位元組64位
4. 簡述Python中的幾種資料類型(口述)
資料類型分為:基本類型、資料集。基本類型包括:數字類型(整形、長整型、浮點型、複數)、字串類型、布爾類型。資料集類型包括:列表、元祖、字典、集合。
總體來說,資料類型分為數字,字串,列表,字典,元祖,布爾,集合
5. 資料類型的可變與不可變分別有哪些?(口述)
可變:字串、列表、集合、字典value 不可變:數字、字串、布爾、元祖、字典key
6.元祖,列表,字典有沒有長度的限制?(口述)
沒有,根據記憶體大小定義。
7. 解釋‘and‘,‘or‘,‘not‘(口述)
和C語音的與或非類似,and,or,not都為邏輯運算子and表示兩者都為TRUE,則為TRUEor表示兩者有一個判斷為布爾TRUE 則結果為TRUE 反之則Falsenot 表示取反 如x為True,not x 則為False
8. 元組和列表的區別(口述)
元組又叫唯讀列表,不可改變,且無序。 列表有序,並且可以修改。
9.列舉一堆布爾值為False的情況(口述)
空列表 [],空字典{},空元祖(),Null 字元串“”0
10.python2和python3對於long(長整形)的區別。
python2中有整形int和long,int 32位系統最多隻有32位,超出32位則為long。64位系統為64位。 python3中全部為int。 long在python中沒有指定位寬。
11.變數命名規範 ?(口述)
首字母不能是數字,並且變數名只能含有英文,數字,和底線_
1.變數名只能是 字母、數字或底線的任意組合。
2.變數名的第一個字元不能是數字。
3.關鍵字不能聲明為變數名。
變數名不要過長,最好不要使用中文和拼音,還有不能亂起變數名,比如名不搭意。
12.闡述一下unicode和utf-8的區別(或者unicode在python3的作用)(口述)
unicode又叫萬國碼,涵蓋全世界的編碼,所有字元和符號最少由16位(2個位元組)表示,和別的編碼有對應映射關係。 utf-8對unicode進行了最佳化,uft-8對於英文只佔用1個位元組,歐洲字元2個位元組,東亞字元3個位元組,特殊字元4個位元組。 在python3中預設在記憶體儲存代碼的形式就是unicode,為了方便不同國家的人查看代碼。
13.深淺copy-引用和copy(),deepcopy()的區別(口述)
1.引用賦值的時候,指向同一個列表地址,如果a列表重新賦予別的列表,b還是指向之前的地址,b列表不改變,如果a列表裡的值改變,那麼b也會跟著改變。2.當使用copy()的時候,相當於整個列表包括裡面的東西一起完整拷貝給你,不是指向同一個地址,a裡面的值改變,b列表不跟著改變。但是如果a列表是嵌套列表,嵌套列表裡的值發生變化,拷貝的列表b裡的嵌套列表也會跟著改變,因為列表裡的列表是指向同一個地址,相當於1.的情況3.使用deepcopy()的話,列表裡的數地址也會不一樣,所以改變列表a裡的嵌套列表的數,b也不會跟著改變。
14.python2和python3的預設字元編碼(口述)
python2預設字元編碼是ASCIIpython3預設編碼是unicode
15.集合的特性(口述)
確定性:元素必須可以hash。互異性:元素不可相同。無序性。
16.列表[‘alex‘,‘egon‘,‘yuan‘,‘wusir‘,‘666‘](編程)
1.把666替換成999
2.擷取"yuan"索引
3.假設不知道前面有幾個元素,分區得到最後的三個元素
16.列表[‘alex‘,‘egon‘,‘yuan‘,‘wusir‘,‘666‘](編程) 1.把666替換成999 2.擷取"yuan"索引 3.假設不知道前面有幾個元素,分區得到最後的三個元素li =[‘alex‘,‘egon‘,‘yuan‘,‘wusir‘,‘666‘]li[-1] = ‘999‘print(li)print(li.index(‘yuan‘))last3 = li[-3:]print(last3)
17.對字典進行增刪改查(編程)
{"Development":"開發小哥","OP":"營運小哥","Operate":"運營小仙女","UI":"UI小仙女"}
dic = {"Development":"開發小哥","OP":"營運小哥","Operate":"運營小仙女","UI":"UI小仙女"}#增dic[‘manage‘]=‘alex‘print(dic)#刪del dic[‘Development‘]print(dic)#改dic[‘manage‘] = ‘oldboys‘print(dic)#查看find = dic.get("UI")print(find)
18.計算1+2+3...+98+99+100 (編程題)
#18.計算1+2+3...+98+99+100 (編程題)# count = 1# counts =0# while count<=100:# counts=count+counts# print(counts)# count +=1count =0for i in range(1,101): count = count+iprint(count)
19. 製作趣味模板程式(編程題)
需求:等待使用者輸入名字、地點、愛好,根據使用者的名字和愛好進行任意現實
如:敬愛可愛的xxx,最喜歡在xxx地方幹xxx
# 19. 製作趣味模板程式(編程題)# 需求:等待使用者輸入名字、地點、愛好,根據使用者的名字和愛好進行任意現實# 如:敬愛可愛的xxx,最喜歡在xxx地方幹xxx# username = input("請輸入名字>>")userpalce = input("請輸入地點>>")userhobby = input("請輸入愛好>>")print("敬愛可愛的%s,最喜歡在%s地方幹%s"%(username,userpalce,userhobby))
20.寫一個三次認證(編程)
實現使用者輸入使用者名稱和密碼,當使用者名稱為 seven 或 alex 且 密碼為 123 時,顯示登陸成功,否則登陸失敗,失敗時允許重複輸入三次
# 20.寫一個三次認證(編程)# 實現使用者輸入使用者名稱和密碼,當使用者名稱為 seven 或 alex 且 密碼為 123 時,顯示登陸成功,# 否則登陸失敗,失敗時允許重複輸入三次# _username1 = ‘seven‘_username2 = ‘alex‘_password = ‘123‘count =0while count<3: username = input("名字>>") password = input("密碼>>") if (username==_username1 or username==_username2) and password ==_password: print("登陸成功") break else: print("登陸失敗") count+=1
21.切割字串"luffycity"為"luffy","city"(編程)
# 21.切割字串"luffycity"為"luffy","city"(編程)info = "luffycity"print(info[0:5])print(info[5:])
22.猜年齡遊戲(編程題)
# 22.猜年齡遊戲(編程題)age =20count = 0while count<3: user_age = input("請輸入年齡>>") if user_age.isdigit() is True: if age == int(user_age): print("恭喜") break elif int(user_age) >age: print("猜大了,請重試") else: print("猜小了,再試試") else: print("請輸入數字") pass count+=1
23.求1~100間所有偶數的和(亦可奇數和,使用while迴圈寫)(編程題)。
# 23.求1~100間所有偶數的和(亦可奇數和,使用while迴圈寫)(編程題)。count =0sumn=0while count<=100: if count%2==0: sumn =count+sumn count+=1print(sumn)
24.從鍵盤接收一百分製成績(0~100),要求輸出其對應的成績等級A~E。其中,90分以上為‘A‘,80~89分為‘B‘,70~79分為‘C‘,60~69分為‘D‘,60分以下為‘E‘。(編程題)
# 24.從鍵盤接收一百分製成績(0~100),要求輸出其對應的成績等級A~E。# 其中,90分以上為‘A‘,80~89分為‘B‘,# 70~79分為‘C‘,60~69分為‘D‘,# 60分以下為‘E‘。(編程題)usergrade = input("請輸入成績>>")if usergrade.isdigit() is True: if int(usergrade)>=90: print("A") elif int(usergrade)>=80: print("B") elif int(usergrade)>=70: print("C") elif int(usergrade)>=60: print("D") else: print("E")else: print("請輸入數字") pass
25.輸入一年份,判斷該年份是否是閏年並輸出結果。(該程式可以重複使用 使用while True)(編程題)
註:凡符合下面兩個條件之一的年份是閏年。 (1) 能被4整除但不能被100整除。 (2) 能被400整除。
# 25.輸入一年份,判斷該年份是否是閏年並輸出結果。(該程式可以重複使用 使用while True)(編程題)# 註:凡符合下面兩個條件之一的年份是閏年。 (1) 能被4整除但不能被100整除。 (2) 能被400整除。# while True: year_input = input("請輸入年份>>") if year_input.isdigit() is True: if (int(year_input)%4 ==0 and int(year_input)%100!=0) or int(year_input)%400==0: print("閏年") else: print("平年") elif year_input == ‘q‘: break else: pass
26.有如下字串:n = "路飛學城"(編程題)
- 將字串轉換成utf-8的字元編碼,再將轉換的位元組重新轉換為utf-8的字元編碼
- 將字串轉換成gbk的字元編碼,再將轉換的位元組重新轉換為utf-8的字元編碼
# 26.有如下字串:n = "路飛學城"(編程題)## - 將字串轉換成utf-8的字元編碼,再將轉換的位元組重新轉換為utf-8的字元編碼# - 將字串轉換成gbk的字元編碼,再將轉換的位元組重新轉換為utf-8的字元編碼# n = "路飛學城"n8 = n.encode(encoding=‘utf-8‘)print("轉碼為utf8>>%s"%n8)n9 = n8.decode(encoding=‘utf-8‘)print("解碼為utf8>>%s"%n9)ngbk = n.encode(encoding=‘gbk‘)print(ngbk)ndgbk = ngbk.decode(encoding=‘gbk‘)print(ndgbk)
27.將列表[‘alex‘, ‘steven‘, ‘egon‘] 中的每一個元素使用 ‘\_’ 串連為一個字串(編程)
# 27.將列表[‘alex‘, ‘steven‘, ‘egon‘] 中的每一個元素使用 ‘\_’ 串連為一個字串(編程)# li =[‘alex‘, ‘steven‘, ‘egon‘]# a = ("\_").join(li)# print(a)s =‘\_‘print(s.join(li))
28.自訂兩個,並求交集,合集,差集。(編程)
a1 ={3,4,5,6}a2 ={1,2,3,4}jiao =a1|a2print(jiao)cha = a1-a2print(cha)bing = a1&a2print(bing)
29.求100以內不能被3整除的所有數,並把這些數字放在列表sum3=[]裡,並求出這些數位總和和平均數。(計算的時候告訴學員,sum是一個關鍵詞,不能當作變數)(編程)
# 29.求100以內不能被3整除的所有數,並把這些數字放在列表sum3=[]裡,# 並求出這些數位總和和平均數。(計算的時候告訴學員,sum是一個關鍵詞,不能當作變數)(編程)sum3 =[]count =0sums =0while count<=100: if count%3!=0: sum3.append(count) sums =sums+count count+=1print(sums)print(sum3)print(sums/len(sum3))
30.根據字典內容列印出下面的形式(編程)
可以不列印工整對齊的效果,主要是讓學員擷取key和value。
{"Development":"開發小哥","OP":"營運小哥","Operate":"運營小仙女","UI":"UI小仙女"}
效果如下:
1. 刪除了UI
2. 修改了Operate
```
Development --- 開發小哥
OP --- 營運小哥
Operate --- 小仙女
```
# 30.根據字典內容列印出下面的形式(編程)# 可以不列印工整對齊的效果,主要是讓學員擷取key和value。# {"Development":"開發小哥","OP":"營運小哥","Operate":"運營小仙女","UI":"UI小仙女"}# 效果如下:# 1. 刪除了UI# 2. 修改了Operate## ```# Development --- 開發小哥# OP --- 營運小哥# Operate --- 小仙女# ```info ={"Development":"開發小哥","OP":"營運小哥","Operate":"運營小仙女","UI":"UI小仙女"}del info[‘UI‘]print(info)info["Operate"]=‘小仙女‘print(info)# for items in info.items():# print(items)for i in info: print(i+‘----------‘+info[i])
31.假設一年期定期利率為3.25%,計算一下需要過多少年,一萬元的一年定期存款連本帶息能翻番?(編程題)
# 31.假設一年期定期利率為3.25%,計算一下需要過多少年,一萬元的一年定期存款連本帶息能翻番?(編程題)money = 10000money = 10000interest = moneycount = 0while True: count += 1 interest = interest * (1 + 3.25 / 100) if interest // money == 2: print(count) breakmoney =10000rate = 0.0324years =0while money<20000: years+=1 money =money*(1+rate)print(years)
32.對列表進行增刪改查(查可以是索引,值是否存在列表當中)。(編程)
[‘alex‘, ‘egon‘, ‘wusir‘, ‘wen‘, ‘jing‘]
# 32.對列表進行增刪改查(查可以是索引,值是否存在列表當中)。(編程)## [‘alex‘, ‘egon‘, ‘wusir‘, ‘wen‘, ‘jing‘]li =[‘alex‘, ‘egon‘, ‘wusir‘, ‘wen‘, ‘jing‘]#增li.append(‘wang‘)print(li)#刪li.remove(‘wang‘)print(li)del li[-1]print(li)#改li[1] =‘eeee‘print(li)#查print(li.index(‘alex‘))
33.猜數遊戲。預設一個0~9之間的整數,讓使用者猜一猜並輸入所猜的數,如果大於預設的數,顯示“太大”;小於預設的數,顯示“太小”,如此迴圈,直至猜中該數,顯示“恭喜!你猜中了!(編程題)
# 33.猜數遊戲。預設一個0~9之間的整數,讓使用者猜一猜並輸入所猜的數,# 如果大於預設的數,顯示“太大”;小於預設的數,顯示“太小”,# 如此迴圈,直至猜中該數,顯示“恭喜!你猜中了!(編程題)the_number = 9while 1: user_guess = input("猜猜 年齡》》") if user_guess.isdigit() is True: if the_number ==int(user_guess): print("祝賀") break elif int(user_guess) >the_number: print("太大") else: print("太小 ")
34.編寫一個python程式,輸入兩個數,比較它們的大小並輸出其中較大者。(編程題)
# 34.編寫一個python程式,輸入兩個數,比較它們的大小並輸出其中較大者。(編程題)number1 = input("請輸入一個數字》》")number2 = input("請輸入一個數字》》")if number1.isdigit() is True and number2.isdigit() is True: if number1>number2: print(number1) else: print(number2)else: print("輸入錯誤,請重輸") pass
35.有四個數字:1、2、3、4,能組成多少個互不相同且無重複數位三位元?各是多少?(編程題)
程式分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去 掉不滿足條件的排列。
# 35.有四個數字:1、2、3、4,能組成多少個互不相同且無重複數位三位元?各是多少?(編程題)# 程式分析:可填在百位、十位、個位的數字都是1、2、3、4。# 組成所有的排列後再去 掉不滿足條件的排列。nums =[]for index1 in range(1,5): for index2 in range(1,5): for index3 in range(1,5): if index1!=index2 and index2 != index3 and index3 != index1: num = 100*index1 +10*index2 +index3 if num not in nums: nums.append(num)print(nums)print(len(nums))
36.某個公司採用公用電話傳遞資料,資料是四位的整數,在傳遞過程中是加密的,加密規則如下:每位元字都加上5, 然後用和除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換。(編程題)
# 36.某個公司採用公用電話傳遞資料,資料是四位的整數,在傳遞過程中是加密的,# 加密規則如下:每位元字都加上5, 然後用和除以10的餘數代替該數字,# 再將第一位和第四位交換,第二位和第三位交換。(編程題)data = input("輸入4個數字>>")data =list(‘‘.join(data))print(data)for index,i in enumerate(data): print(data[index]) data[index] =(int(i)+5)%10print(data)data.reverse()print(data)
37.求100以內的素數和。(編程題)
# 37.求100以內的素數和。(編程題)# 素數:素數又稱質數, 質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數的數稱為質數。# 思路:1.先將1~100的數量進行遍曆,獲得這個數是不是素數# 2.除以這個小的整數(除了1和本身),獲得餘數,根據餘數判斷是否是素數for i in range(1,100): a =1 for j in range(int(i/2)): if (1+i)%(2+j) ==0: a =0 break if a ==1: print(i+1)
38.二進位,十進位,十六進位互相轉換(計算題,讓學員使用計算機,別用編程的內建方法)
十進位轉二進位:bin()
十進位轉十六進位:hex()
十進位轉八進位:oct()
二進位轉10進位:如1010: 相當於8+2=10
十六進位轉二進位:如0x9a:相當於10011010 再轉10進位就是 對應
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1 10011010=128+16+8+2=154
39.企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;
利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提成7.5%;
20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於40萬元的部分,可提成3%;
60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於100萬元時,超過100萬元的部分按1%提成,
從鍵盤輸入當月利潤I,求應發放獎金總數?(編程)
while True: money = input(‘利潤:‘) if money.isdigit() == True: if int(money) <= 100000: print("獎金為:%s"%(int(money)*10/100)) elif int(money) <= 200000: print("獎金為:%s"%(((int(money)-100000)*7.5/100)+100000*10/100)) elif int(money) <= 400000: print("獎金為:%s" % (((int(money) - 200000) * 5 / 100))) elif int(money) <= 600000: print("獎金為:%s" % (((int(money) - 400000) * 3/ 100))) elif int(money) <= 1000000: print("獎金為:%s" % (((int(money) - 600000) * 1.5/ 100))) else : print("獎金為:%s" % (((int(money) - 600000) * 1/ 100))) break else: money = input(‘輸入錯誤,請重新輸入:‘)
python 路飛模組一考核總結