階段測驗1-1:Python偶遇小測驗
-
IPO模型包括:
Input、Process、Output -
PEP
是一種用于改進Python功能的提案及作業模式PEP的全稱是Python Enhancement Proposals,其中Enhancement是增強改進的意思,Proposals則可譯為提案或建議書,所以合起來,比較常見的翻譯是Python增強提案或Python改進建議書,
-
示例代碼:
# 1-1 計算1 + 2! + 3! + ··· + 10! num = eval(input("輸入要求的num:")) sum = 0 sum1 = 1 for i in range(num + 1): sum1 *= i sum += sum1 print("sum = ", sum) # 1-2 列印九九乘法表 for i in range(1, 10): for j in range(1, i + 1): print("{} * {} = {:2}".format(j, i, j * i), end=' ') print(' ') # 1-3 猴子吃桃問題,第五天剩下一個桃子 n = 1 for i in range(4, 0, -1):# 若第10天,則4改為9 n = (n + 1) << 1 print(n) # 1-4 斐波那契數列的計算 a, b = 0, 1 while a < 1000: # 輸出不大于1000的序列 print(a, end=',') a,b = b, a + b
階段測驗2-1:Python語法元素小測驗
-
下列Python賦值陳述句中,不合法的是
x = (y = 1) -
int不是python的保留字 -
在python中下列說法正確的是:
檔案名、目錄名和鏈接名都是用同一個字串作為其識別符號的 -
整數、字串、串列均為python的資料型別,實數不是python的資料型別 -
下列對程式的描述正確的是:
程式是由一系列代碼組成的;可以利用函式對程式進行模塊化設計;通過封裝可以實作代碼復用
-
示例代碼
# 2-1 華氏溫度(F)、攝氏溫度(C)互相轉變 tempStr = input("請輸入要轉換的溫度,以c/C/f/F結束:") if tempStr[-1] in ['f', 'F']: C = (eval(tempStr[0:-1]) - 32) / 1.8 print("轉換后的溫度為:{:.2f}C".format(C)) elif tempStr[-1] in ['c', 'C']: F = 1.8 * eval(tempStr[0:-1]) + 32 print("轉換后的溫度為:{:.2f}F".format(F)) else: print("溫度輸入有誤!")
階段測驗2-2:Turtle入門小測驗
-
turtle.setup(width,height,startx,starty)作用:設定主表單的大小和位置, width:視窗寬度,如果值是整數,表示像素值;如果值是小數,表示視窗寬度與螢屏的比例, height:視窗高度,如果值是整數,表示像素值;如果值是小數,表示視窗高度與螢屏的比例, startx:視窗左側與螢屏左側的像素距離,如果值是None,視窗位于螢屏水平中央, starty:視窗頂部與螢屏頂部的像素距離,如果值是None,視窗位于螢屏垂直中央, -
turtle.cirlce(-90, 90)的執行結果為:繪制一個半徑為90像素的弧形,圓心在小海龜當前行進的右側 -
turtle.pendown():畫筆落下,移動時將畫線 -
turtle.pencolor():修改turtle畫筆顏色 -
可以改變turtle畫筆的運行方向的函式:
left()、seth()、right(),不能改變turtle畫筆運行方向的函式:bk() -
使用turtle繪制一個半圓:
turtle.circle(100, -180)
階段測驗3-1:Python數字型別小測驗
1.23e-4+5.67e+5j.imag的執行結果:56700.000123
階段測驗3-2:math庫入門小測驗
-
x是一個兩位的整數變數,哪個是將其十位數與個位數交換位置的陳述句?
(x % 10) * 10 + x // 10 -
1.23e+4+9.87e+6j.imag的執行結果:9882300.0
階段測驗3-3:Python字串型別小測驗
-
用一行代碼回傳
val = pow(2, 1000)結果的長度值:len(str(val)) -
選項
hex(255)的執行結果為:'0xff'(一定不要漏寫引號!) -
下面代碼的執行結果為:
PYTHONs = 'PYTHON' print("{0:3}".format(s)) # 若字串s的長度小于3,則回傳一個長度為3的字串,s的長度為6,故直接列印輸出 PYTHON # 比如 s = 'P',則列印輸出P__(此處的_為空格) # 幫助理解 s = 'P' print("{0:3}11".format(s)) # 列印結果為P__11
階段測驗4-1:Python程式控制結構小測驗
-
下列有關break和continue陳述句的說法正確的是:
當多個回圈陳述句彼此嵌套時,break陳述句只適用于最里層的陳述句;continue陳述句類似于break陳述句,也必須在for、while回圈中使用;break陳述句回圈結束,繼續執行回圈陳述句的后繼陳述句 -
縮進用來判斷當前python陳述句在分支結構中
階段測驗4-2:Python例外處理小測驗
-
try-except通常用于檢查用戶輸入的合法性、檔案打開或網路獲取的成功性 -
random.uniform(a, b)的作用是生成一個[a, b]之間的隨機小數;random庫中用于生成隨機小數的函式為random() -
choice()能夠最簡單的在串列[‘apple’,‘pear’,‘peach’,‘orange’]中隨機選取一個元素 ,choice(seq):從序列型別(例如:串列)中隨機回傳一個元素 -
seed()函式
默認的亂數種子不是1
階段測驗5-1:Python函式概念小測驗
-
函式的作用:
增強代碼的可讀性、降低編程復雜度、復用代碼 -
程式在呼叫時,將實參復制給函式的形參
階段測驗5-2:Python函式遞回小測驗
-
關于遞回函式基例的說法正確的是:
遞回函式必須有基例;遞回函式的基例不再進行遞回;遞回函式的基例決定遞回的深度 -
遞回的特征:
存在一個或多個基例;基例不需要再次遞回;所有遞回鏈要以一個或多個基例結尾 -
遞回
書寫簡單;基例必須存在;遞回程式都可以有非遞回撰寫方法,但是遞回的執行效率低 -
所有面向物件能實作的功能采用面向程序同樣能完成 -
關于模塊化設計描述正確的是:
應盡可能合理劃分功能塊,功能塊內部耦合度高;模塊間關系盡可能簡單,模塊之間耦合度低;高耦合度的特點是復用較為困難 -
函式可以沒有return陳述句 -
使用函式的目的是:
降低編程難度和代碼重用
階段測驗6-1:Python串列使用小測驗
-
print((1, 2, 3) * 3) # (1, 2, 3, 1, 2, 3, 1, 2, 3) -
S和T是兩個集合,
S^T:S和T的補運算,包括集合S和T中的非相同元素;S-T:S和T的差運算,包括在集合S但不在T中的元素;S|T:S和T的并運算,包含既在集合S中又在集合T中的元素;S&T:S和T的交運算,更新集合S,包含同時在集合S和T中的元素 -
S是一個集合,關于S.pop()的說法正確的是:
默認情況下,隨機取回集合S中的一個元素;呼叫S.pop()之后,取回的元素將在S中洗掉;如果S為空,呼叫S.pop()之后產生KeyError例外 -
s[i : j : k]能夠回傳 序列s中第i到j以k為步長的元素子序列 -
元組變數t=(“cat”, “dog”, “tiger”, “human”),哪個選項是t[::-1]的結果
('human', 'tiger', 'dog', 'cat') -
ls.append(x):只能向串列s最后添加一個元素x -
ls.reverse():將ls中元素逆序,更新串列ls -
向串列ls中增加5個元素:
ls += 1,2,3,4,5
階段測驗6-2:Python字典使用小測驗
-
{}、dict()、dict([])可以生成空字典,{[]}則不行 -
給定字典d,對d.keys()的描述正確的是
回傳一種dict_keys型別,包括字典d中所有鍵 -
給定字典d,對d.values()的描述正確的是
回傳一種dict_values型別,包括字典d中所有值 -
給定字典d,對d.items()的描述正確的是
回傳一種dict_items型別,包括字典d中所有鍵值對 -
給定字典d,對d.get(x, y)的描述正確的是
回傳字典d中鍵為x的值,如果不存在,則回傳y -
給定字典d,對x in d的描述正確的是
判斷x是否是字典d中的鍵 -
給定字典d,
d.clear()可以清空該字典并保留變數 -
dict = {}、dict = {(1,2,3):"aksd"}、dict = {3 : 5}可以創建字典,dict = {[1,2,3]:"aksd"}則不行 -
關于大括號{},描述正確的是
直接使用{}將生成一個字典型別
階段測驗7-1:Python檔案使用小測驗
-
使用
r打開模式打開檔案時,如果操作的檔案不存在,會輸出錯誤資訊 -
檔案
是存盤在輔助存盤器上的資料序列;檔案可以包含任何內容;檔案是資料的集合和抽象 -
文本檔案
由單一特定編碼的字符組成;文本檔案是存盤在磁盤上的長字符序列;文本檔案容易閱讀和展示 -
python對檔案操作采用的統一步驟是:
打開--操作--關閉 -
python對檔案操作時,
打開不存在的檔案會出錯;打開不存在的檔案可以創建檔案;打開存在的檔案一定可以往其中寫入
階段測驗7-2:Python資料維度理解小測驗
-
各元素逗號分隔形成字串存盤、各元素冒號分隔形成字串存盤、各元素采用特殊符號分隔形成字串存盤可以作為一維資料的存盤方式,各元素直接相連形成字串存盤則不能作為一維資料的存盤方式 -
有關python基本圖形繪制中,說法正確的是
圖形畫面上的一個點稱為元素 -
win.setcoords(0, 0, 10, 10)可以將視窗坐標設定為:(0, 0)在左下角;(10, 10)在右下角 -
Line(Point(2, 3), Point(4, 5))可以創建一條從點(2,3)到(4,5)的線段 -
在Python中,想要將s=“abc1234” 中的字符c替換成C,可以使用
s.replace('c', 'C');s.replace("c", "C");s = s.replace('c', 'C')實作
階段測驗8-1:程式設計方法小測驗
- 自頂向下設計主要由
函式實作 - 對程式的描述正確的是
程式是由一系列代碼組成的;可以利用函式對程式進行模塊化設計;通過封裝可以實作代碼復用 - 對計算思維的理解可以分為:
理解問題的計算特性;將計算特性抽象為計算問題;通程序式設計語言實作問題的自動求解 - 原型開發的優點:
降低開發風險和成本;加強用戶參與;需求清晰 - 陳述句myShape.move(10,20)的執行結果為
將myShape移動到點(10, 20)
階段測驗9:補充運算子
-
除法(
//,也叫地板除)運算:- 運算元
均為正數時,回傳取整后的結果即可(與java、c中的/操作相同)
print(9 // 4) # 2- 運算元有一個為
負數時,回傳值為被除數到除數的距離整除除數,將得到的結果加上負號即可;或者忽略符號直接取整,將得到的結果向下取整(不要忘記負號!)
print(9 // -4) # (9 + 4) // 4 = 3 --> -3(添負號) - 運算元
-
取模運算
- 運算元均為正數時,
Z = X // Y; X % Y = X - (Y * Z)
print(9 % 4) # 1 Z = 9//4=2; X % Y = 9-(4*2)=1- 運算元有一個為
負數時,Z = |X // Y|; X % Y = |X| - (|Y| * Z),符號位和Y(運算子右側的運算元)相同
print(9 % -4) # -3 Z = |9//-4|=3; X % Y = |9|-(|-4| * 3)= -3print(-9 % 4) # 3 Z = |9//-4|=3; X % Y = |-9|-(|4| * 3) = -3 -->3(與Y的符號(+)相同)- 兩個運算元都為
負數時,值的大小和兩個運算元絕對值取模的結果相同,符號相反
print(-9 % -4) # -1 |-9| % |-4| = 1 --> -1(結果相同,符號相反) - 運算元均為正數時,
Coding_demo
1. 分段函式

def func(x):
if x == 0:
return 0
else:
return 1 / x
x = eval(input("輸入要求的x的值:"))
print(func(x))
2. 列舉100~200之間的素數
for i in range(100, 201):
flag = 0 # 作為判斷是否為素數的標志
for j in range(2, i):
if i % j == 0: # 判斷i是不是能被j整除
flag = 1 # 不是素數
break # 終止回圈
if flag == 0:
print(i, end=' ') # 顯示結果不換行
3. 輸入一個整數,判斷輸入的數字是幾位數,并分別求出各個數位上的值
num = eval(input("輸入一個整數:"))
indiv = num % 10 # 個位
ten = num // 10 % 10 # 十位
hun = num // 100 % 10 # 百位
thous = num // 1000 % 10 # 千位
ten_thous = num // 10000 % 10 # 萬位
sum = indiv + ten + hun + thous + ten_thous # 各數位求和
print("{}是{}位數,個位數為:{}, 十位數為:{}, 百位數為:{}, 千位數為:{}, 萬位數為:{}, 各數位之和為:{}".format(num, len(str(num)), indiv, ten, hun, thous, ten_thous, sum))
4. 求最大值(list實作)
list = []
num = 1
while (num != 0):
num = eval(input('輸入數字(以0結束):'))
list.append(num)
list.sort()
# print('最小值:', list[1])
print('最大值:', list[-1])
5.多項式求和
-
撰寫程式,計算數列1/1+1/2+1/3+1/4+…+1/n之和,當數列的某一項值小于0.01時停止計算,輸出結果寬度10,保留3位小數,
# while回圈 sum = 0 n = 1 while (1 / n >= 0.01): sum += 1 / n n += 1 print("sum = {:.3f}".format(sum)) # for回圈(注意:在不確定回圈次數的情況下,推薦使用while回圈) n = eval(input('輸入要求的數值:')) sum = 0 for i in range(1, n + 1): sum += 1 / i if 1 / i < 0.01: break print('sum = {:.3f}'.format(sum)) -
編程計算:s=1/(1*2)+1/(3*4)+1/(5*6)+???+1/(n*(n+1))+…的近似值,當1/(n*(n+1))的值小于0.00001時,停止計算,
# while回圈 s, n = 0, 1 while 1 / (n * (n + 1)) >= 0.00001: s += 1 / (n * (n + 1)) n += 2 print("s = {:.3f}".format(s)) # for回圈 n = eval(input('輸入要求的數值:')) s = 0 for i in range(1, n + 1, 2): # 步長為2 temp = 1 / (i * (i + 1)) if temp < 0.00001: break s += temp print('s = {:.3f}'.format(s))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/238554.html
標籤:python
下一篇:python學習總結part2
