python第一模組練習

來源:互聯網
上載者:User

標籤:類型   錯誤   guess   hash   總數   偶數   指派陳述式   inter   app   

### 第一套題
# # 1. 分別解釋"=","==","+="的含義(口述)
# =為指派陳述式,把一個變數值賦予另一個值
# == 為條件判斷,判斷兩個值是否相等
# += 為賦值 意思為 a+=1 就是a=a+1

# 2.
# 兩個變數值的關係?(口述)
# - n1 = 123456
# - n2 = n1
# n1賦予123456的值 然後將n1地址儲存123456的記憶體位址給與n2 意思就是n1 n2指向123456這個地址。

# 3. 請寫出 “路飛學城” 分別用 utf-8 和 gbk 編碼所佔的位元(口述)
# utf-8 佔12位元組 GBK佔8位元組 12位元組相當於96位 8位元組64位

# 4. 簡述Python中的幾種資料類型(口述)
# 資料類型分為:基本類型、資料集。
# 基本類型包括:數字類型(整形、長整型、浮點型、複數)、字串類型、布爾類型。
# 資料集類型包括:列表、元祖、字典、集合。
#
# 5. 資料類型的可變與不可變分別有哪些?(口述)
# 可變:字串、列表、可變集合、字典value
# 不可變:數字、字串、布爾、元祖、字典key、不可變集合
#
# 6.
# 元祖,列表,字典有沒有長度的限制?(口述)
# 沒有,根據記憶體大小定義。
#
# 7.
# 列表[‘alex‘, ‘egon‘, ‘yuan‘, ‘wusir‘, ‘666‘](編程)
# info = [‘alex‘, ‘egon‘, ‘yuan‘, ‘wusir‘, ‘666‘]
# -1.把666替換成999
# info[-1] = ‘999‘
# print(info)

# -2.擷取"yuan"索引
# print(info.index(‘yuan‘))

# -3.假設不知道前面有幾個元素,分區得到最後的三個元素
# print(info[-3:])

# 8. 將字串“www.luffycity.com”給拆分成列表:li=[‘www‘,‘luffycity‘,‘com‘] (編程)
# li=‘www.luffycity.com‘
# print(li.split(‘.‘))

# # 9. 對字典進行增刪改查(編程)
# # - {"Development":"開發小哥","OP":"營運小哥","Operate":"運營小仙女","UI":"UI小仙女"}
# dic={"Development":"開發小哥","OP":"營運小哥","Operate":"運營小仙女","UI":"UI小仙女"}
# #增加
# dic[‘打掃‘]=‘阿姨‘
# print(dic)
# #刪除
# del dic[‘打掃‘]
# print(dic)
# # 改
# dic[‘UI‘]=‘ui‘
# print(dic)
# #查
# print(dic.get(‘UI‘))

# 10. 計算1+2+3...+98+99+100 (編程題)
# a = range(100)
# count = 0
# for i in a:
# count = count+i
# print(count)

# 11. 製作趣味模板程式(編程題)
# 需求:等待使用者輸入名字、地點、愛好,根據使用者的名字和愛好進行任意現實
# 如:敬愛可愛的xxx,最喜歡在xxx地方幹xxx

# name = input(‘輸入名字:‘)
# place = input(‘輸入地點:‘)
# likes = input(‘輸入愛好:‘)
# print(‘敬愛可愛的%s,最喜歡在%s地方幹%s‘%(name,place,likes))

# 12. 寫一個三次認證(編程)
# 1. 實現使用者輸入使用者名稱和密碼,當使用者名稱為 seven 或 alex 且 密碼為 123 時,顯示登陸成功,否則登陸失敗,失敗時允許重複輸入三次
# name = ‘senven‘
# name1 = ‘alex‘
# password = ‘123‘
# count=0
# while count < 3:
# name_ = input("請輸入使用者名稱:")
# password_= input("請輸入密碼:")
# if (name == name_ or name1 == name_) and password_ == password:
# print(‘登入成功‘)
# break
# else:
# count += 1
# print(‘登入失敗%s次,超過3次則退出‘%(count))


### 第二套題
# # 1. 解釋‘and‘,‘or‘,‘not‘(口述)
# 和C語音的與或非類似,and,or,not都為邏輯運算子
# and表示兩者都為TRUE,則為TRUE
# or表示兩者有一個判斷為布爾TRUE 則結果為TRUE 反之則False
# not 表示取反 如x為True,not x 則為False

# 2. 元組和列表的區別(口述)
# 元組又叫唯讀列表,不可改變,且無序。
# 列表有序,並且可以修改。

# 3. 列舉一堆布爾值為False的情況(口述)
# [],{},None,False,‘‘,數字0,-0
# print(bool([]))

# 4. python2和python3對於long(長整形)的區別。
# python2中有整形int和long,int 32位系統最多隻有32位,超出32位則為long。64位系統為64位。
# python3中全部為int。
# long在python中沒有指定位寬。

# 5. 元祖和列表的區別(口述)
# 元組又叫唯讀列表,不可改變,且無序。
# 列表有序,並且可以修改。

# 6. 變數命名規範 ?(口述)
# 首字母不能是數字,並且變數名只能含有英文,數字,和底線_

# # 7. 闡述一下unicode和utf-8的區別(或者unicode在python3的作用)(口述)
# unicode又叫萬國碼,涵蓋全世界的編碼,所有字元和符號最少由16位(2個位元組)表示,和別的編碼有對應映射關係。
# utf-8對unicode進行了最佳化,uft-8對於英文只佔用1個位元組,歐洲字元2個位元組,東亞字元3個位元組,特殊字元4個位元組。
# 在python3中預設在記憶體儲存代碼的形式就是unicode,為了方便不同國家的人查看代碼。

# 8.記憶體空間的考核。(口述)
#
# - 問修改前後info的id是否改變
# - 問修改前後info[‘alex‘][‘hobbies‘]
# 的id是否改變
#
# info = {
# ‘egon‘: {‘pwd‘: ‘123‘, ‘hobbies‘: [‘play‘, ‘music‘, ‘read‘]},
# ‘alex‘: {‘pwd‘: ‘1234‘, ‘hobbies‘: [‘music‘, ‘read‘]},
# ‘wupeiqi‘: {‘pwd‘: ‘135‘, ‘hobbies‘: [‘read‘, ]},
# }
# info[‘alex‘][‘hobbies‘].append(‘play‘)

# 記憶體位址不會改變。

# 9. 切割字串"luffycity"為"luffy","city"(編程)

# info=‘luffycity‘
# print(info[0:5])
# print(info[5:])

# 10. 猜年齡遊戲(編程題)

# age = 26
# while 1:
# user_guess = input("猜猜年齡數:")
# if user_guess.isdigit() == True:
# if age == int(user_guess):
# print("恭喜你!猜對了")
# break
# elif int(user_guess) > age:
# print("你猜大啦,再試試吧")
# else:
# print("你猜小啦,再試試吧")

# 11. 求1~100間所有偶數的和(亦可奇數和,使用while迴圈寫)(編程題)。

# count1 = count = 0
# while count < 100:
# count+= 1
# if count%2 == 0:
# count1 = count1 + count
# print(count1)

# 12. 從鍵盤接收一百分製成績(0~100),要求輸出其對應的成績等級A~E。其中,90分以上為‘A‘,80~89分為‘B‘,70~79分為‘C‘,60~69分為‘D‘,60分以下為‘E‘。(編程題)

# score = int(input(‘輸入成績:‘))
# if score >= 90:
# print("成績為A")
# elif score >= 80:
# print("成績為B")
# elif score >= 70:
# print("成績為C")
# elif score >= 60:
# print("成績為D")
# else:
# print("成績為E")

### 第三套題

# # 1. "is"和“==”的區別(口述)

# is是對比地址,==是對比值.
# is是判斷變數是否來自同一對象同一地址。
# ==是判斷值是否相等。

# 2. 聲明變數注意事項有哪些?(口述)

# 注意變數定義的規則:
# 1.變數名只能是 字母、數字或底線的任意組合。
# 2.變數名的第一個字元不能是數字。
# 3.關鍵字不能聲明為變數名。
# 變數名不要過長,最好不要使用中文和拼音,還有不能亂起變數名,比如名不搭意。


# 3. 深淺copy-引用和copy(),deepcopy()的區別(口述)

# 1.引用賦值的時候,指向同一個列表地址,如果a列表重新賦予別的列表,b還是指向之前的地址,b列表不改變
# 如果a列表裡的值改變,那麼b也會跟著改變。
# 2.當使用copy()的時候,相當於整個列表包括裡面的東西一起完整拷貝給你,不是指向同一個地址,
# a裡面的值改變,b列表不跟著改變。但是如果a列表是嵌套列表,嵌套列表裡的值發生變化,拷貝的列表b裡的嵌套
# 列表也會跟著改變,因為列表裡的列表是指向同一個地址,相當於1.的情況
# 3.使用deepcopy()的話,列表裡的數地址也會不一樣,所以改變列表a裡的嵌套列表的數,b也不會跟著改變。

# 4. 各個資料類型分別是有序的?還是無序的?(口述)

# 有序:列表、元組、字串
# 無序:字典、集合

# 5. 輸入一年份,判斷該年份是否是閏年並輸出結果。(該程式可以重複使用 使用while True)(編程題)
# 註:凡符合下面兩個條件之一的年份是閏年。 (1) 能被4整除但不能被100整除。 (2) 能被400整除。

# while True:
# year = input("輸入年份判斷是否閏年:(輸入q退出)")
# if year.isdigit() == True:
# if (int(year)%4 == 0 and int(year)%100 != 0) or (int(year)%400 == 0):
# print("您輸入的是閏年:%s"%(year))
# else:
# print("您輸入的不是閏年")
# elif year == ‘q‘:
# break

# 6. 有如下字串:n = "路飛學城"(編程題)
#
# - 將字串轉換成utf-8的字元編碼,再將轉換的位元組重新轉換為utf-8的字元編碼
# - 將字串轉換成gbk的字元編碼,再將轉換的位元組重新轉換為utf-8的字元編碼

# n = "路飛學城"
# n1 = n.encode(‘utf-8‘)
# print(n1)
# n = n1.decode(‘utf-8‘)
# print(n)
# n2 = n.encode(‘GBK‘)
# print(n2)
# n = n2.decode(‘GBK‘).encode(‘utf-8‘)
# print(n)

# # 7. 將列表[‘alex‘, ‘steven‘, ‘egon‘] 中的每一個元素使用 ‘\_’ 串連為一個字串(編程)
# info=[‘alex‘, ‘steven‘, ‘egon‘]
# s1=‘\_‘
# print(s1.join(info))

# # 8.自訂兩個,並求交集,合集,差集。(編程)
# a = {1, 2, 3, 4, 5}
# b = {2, 4, 6, 8, 10}
# print(a & b)
# print(a | b)
# print(a - b)

# 9. 求100以內不能被3整除的所有數,並把這些數字放在列表sum3=[]裡,並求出這些數位總和和平均數。(計算的時候告訴學員,sum是一個關鍵詞,不能當作變數)(編程)
# info = range(100)
# sum3 = []
# for i in info:
# if i % 3 == 0:
# sum3.append(i)
# count = 0
# for i in sum3:
# count = count + i
# print(sum3)
# print("總和:%s"%(count))

# 10. 根據字典內容列印出下面的形式(編程)
# 可以不列印工整對齊的效果,主要是讓學員擷取key和value。
# {"Development":"開發小哥","OP":"營運小哥","Operate":"運營小仙女","UI":"UI小仙女"}
# 效果如下:
# 1. 刪除了UI
# 2. 修改了Operate
#
# ```
# Development --- 開發小哥
# OP --- 營運小哥
# Operate --- 小仙女
# ```

# info = {"Development":"開發小哥","OP":"營運小哥","Operate":"運營小仙女","UI":"UI小仙女"}
# del info[‘UI‘]
# info[‘Operate‘]=‘小仙女‘
# for k in info:
# print(k,info[k])

# 11. 假設一年期定期利率為3.25%,計算一下需要過多少年,一萬元的一年定期存款連本帶息能翻番?(編程題)
# money = 10000
# interest = money
# count = 0
# while True:
# count += 1
# interest = interest * (1 + 3.25 / 100)
# if interest // money == 2:
# print(count)
# break

# 12.
# 對列表進行增刪改查(查可以是索引,值是否存在列表當中)。(編程)
#
# - [‘alex‘, ‘egon‘, ‘wusir‘, ‘wen‘, ‘jing‘]

# info = [‘alex‘, ‘egon‘, ‘wusir‘, ‘wen‘, ‘jing‘]
# #增加
# info.append(‘hessen‘)
# print(info)
# #刪除
# info.remove(‘wen‘)
# print(info)
# del info[-1]
# print(info)
# #修改
# info[1]=‘hessen‘
# print(info)
# #尋找
# print(info.index(‘hessen‘))

### 剩餘題
# 1. 猜數遊戲。預設一個0~9之間的整數,讓使用者猜一猜並輸入所猜的數,如果大於預設的數,顯示“太大”;小於預設的數,顯示“太小”,如此迴圈,直至猜中該數,顯示“恭喜!你猜中了!(編程題)
# number = 8
# while 1:
# user_guess = input("猜猜年齡數:")
# if user_guess.isdigit() == True:
# if number == int(user_guess):
# print("恭喜!你猜中了!")
# break
# elif int(user_guess) > number:
# print("太大")
# else:
# print("太小")

# 2. 編寫一個python程式,輸入兩個數,比較它們的大小並輸出其中較大者。(編程題)
# print("輸入兩個數比較大小")
# info = []
# while len(info) < 2:
# number = input(‘輸入數:‘)
# if number.isdigit() == False:
# print("輸入錯誤,請輸入數字")
# continue
# else:
# info.append(number)
# maxnumber=int(info[0])
# for i in info:
# if int(i) > maxnumber:
# maxnumber = int(i)
# print("%s比較大"%(maxnumber))
#

# 3. 有四個數字:1、2、3、4,能組成多少個互不相同且無重複數位三位元?各是多少?(編程題)
# 程式分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去 掉不滿足條件的排列。
# 程式原始碼:
#
# n = [1,2,3,4]
# n1 = []
# i = j = k = 0
# count = 0
# while i < 4:
# n2 = n[i]*100
# i+=1
# while j<4:
# n3 = n2+n[j]*10
# j+=1
# while k<4:
# n1.append(n3+n[k])
# k+=1
# else:
# k=0
# else:
# j=0
# n2=n1.copy()
# for index,i in enumerate(n1):
# a = n1[index]//100
# a1 = n1[index]%100//10
# a3 = n1[index]%10
# if a == a1 or a == a3 or a1 == a3:
# n2.remove(i)
# print(len(n2),n2)

# 4.
# # 某個公司採用公用電話傳遞資料,資料是四位的整數,在傳遞過程中是加密的,加密規則如下:每位元字都加上5, 然後用和除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換。(編程題)
# data = input("輸入4位元:")
# data = list(‘‘.join(data))
# for index,i in enumerate(data):
# data[index] = (int(i) + 5) % 10
# print(data)
# data.reverse()
# print(data)

#
# 5. 求100以內的素數和。(編程題)
# n1 = list(range(2,100))
# n2 =[]
# i = 0
# count = 0
# count1 = 0
# while count < 98:
# if n1[i] % n1[count] == 0:
# count1+= 1
# if count == 97 and count1 == 1:
# n2.append(n1[i])
# count+= 1
# if count == 98:
# i+= 1
# count1 =count = 0
# if i == 98:
# break
# print(sum(n2))



# 6. 二進位,十進位,十六進位互相轉換(計算題,讓學員使用計算機,別用編程的內建方法)
# 十進位轉二進位: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

# 7. python2和python3的預設字元編碼(口述)
# python2預設字元編碼是ASCII
# python3預設編碼是unicode

# 8. 浮點數轉換整形(口述)
# 把小數點後的數去掉,取整數。

# 9. 計算"21days"字串的長度。(口述/編程)
# print(len(‘21days‘))

# 10. 元祖,列表,字典有沒有長度的限制?(口述)
# 沒有

# 11. 集合的特性(口述)
# 確定性:元素必須可以hash。互異性:元素不可相同。無序性。

# 12. 企業發放的獎金根據利潤提成。利潤(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.