python 路飛模組一考核總結

來源:互聯網
上載者:User

標籤: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 路飛模組一考核總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.