知識點:
1,鏈表可以是線性結構也可以是非線性結構
????? 線性表的鏈式存儲結構稱為線性鏈表;鏈表上一種物理存儲單元上非連續,非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的,鏈表可以說線性結構也可以說非線性結構。
2,循環隊列的存儲空間Q(1:50)。操作后front=rear時可知隊列要么空要么隊列滿,若隊列又成功將一個元素退出,則表明在該情況下是滿狀態
3,二叉樹中只存在度為0,1,2的結點,根據這二叉樹中度為0的結點(葉子節點)總比度為2的結點多一個。
???? 例子:問有20個葉子結點,5個1度結點,則該二叉樹中共有多少個結點
??????????? 2度結點個數 =? 0度結點個數 - 1?? ||||????? 20 -1? = 19
??????????? 總結點數 = 0度結點數 + 1度結點數 + 2度結點數?? ||||??? 20+5+19 = 44個
4,棧稱為“后進先出”的線性表;
????? 隊列稱為“先進先出”的線性表;
5,軟件工程包含三個要素:方法,工具和過程
6,程序流程圖上詳細設計階段使用的表達工具,還有N-S圖,PAD圖,HIPO圖,判定表等等。
7,面向對象方法中的對象由兩部分組成:1,數據,也稱為屬性,即對象所包含的信息,表示對象的狀態。
?????????????????????????????????????????????????????????????????? 2,方法,也稱為操作,即對象所能執行的功能,所具有的行為。
8,數據定義功能:負責數據的模式定義與數據的物理存取構建;
???? 數據操縱功能:負責數據的操縱,包括查詢與增刪改等操作;
???? 數據控制功能:負責數據完整性,安全性的定義與檢查以及并發控制,故障恢復等功能。
9,保留字,也稱為關鍵字。
10,python字符串采用切片,獲取字符串的范圍是左閉右開的
11,python語言3種基本控制邏輯:順序結構,選擇結構(分支結構),循環結構。
?????? 在分支結構原理的基礎上,python增加了異常處理,使用try-except關鍵字。
12,eval()函數是把字符串換成python可用的語言
13,函數能提高應用的模塊性和代碼的重復利用率。
14,ls.remove(x)是刪除類表ls中第一個元素x
15,鍵值對中,鍵必須是唯一的,必須是不可變數據類型,值可以說任何數據類型。
?????? 字典具有和集合類似的性質,即鍵值對之間沒有順序且不能重復。
16,文件打開模式中w表示覆蓋寫模式,文件不存在則創建,存在則完全覆蓋原文件。
??????? 文件寫入方法中,writelines()直接將列表類型的各元素連接起來寫入文件中。
17,numpy是python的一種開源數值計算擴展第三方庫,用于處理數據類型相同的多維數組。
??????? numpy可以用來存儲和處理大型矩陣,提供了許多高級的數組編程工具,如矩陣運算,矢量處理等。
18,PIL庫是python處理圖像方面重要的第三方庫,支持圖像存儲,處理和顯示。
操作題
1,隨機輸出列表中的元素
代碼:
import random
brandlist = ['蘋果','肌肉','大象','白雪']
random.seed(0)
name = brandlist[random.randint(0,4)]
print(name)
用到python的標準庫random。random.seed(0)的作用是設置初始化隨機數種子,設置種子的好處就是可以充分再現相同的隨機數序列。
random.randint(a,b)的作用是產生一個[a,b]之間的隨機整數。
2,輸入一段文本,保存在一個字符串變量s中,分別用python內置函數及其jieba庫中已有函數計算字符串s的中文字符個數及中文詞語個數。
例子:
鍵盤輸入:
科技是第一生產力
屏幕輸出:
中文字符數為8,中文詞語數為4
代碼:
import jieba
s = input('請輸入一個字符串')
n = len(s)
m = len(jieba.lcut(s))
print('中文字符數為{},中文詞語數為{}。'.format(n,m))
len()統計字符數量
jieba庫中的lcut(s)方法。返回一個以中文詞語為元素的列表類型,再使用len()獲取列表的長度,及中文詞語數量
3,買衣服打折問題
例子:每件150,1件不打折,2件(包含)到3件(包含)打九折,4件(包含)到9件(包含)打八折,10件(包含)以上打七折。
代碼:
n = eval(input('請輸入數量:'))
if n == 1:cost=150
elif n>=2 and n<=3:cost=int(n*150*0.9)
elif n>=4 and n<=9:cost=int(n*150*0.8)
elif n>=10cost=int(n*150*0.7)
print('總額為:',cost)
4,使用turtle庫中的right()函數和fd()函數繪制一個五角星,邊長200像素,內角度數為36
代碼:
from turtle import *
for i in range(5):fd(200)right(144)
5,鍵盤輸入一組人員的姓名,性別,年齡等信息,信息間采用空格分隔,每人一行,空行回車結束錄入
例如:
張三 男? 22
王五 男? 22
張強 男? 23
王倩 女? 28
計算并輸出該組人員的平均年齡(保留1位小數)和其中女性的人數。
代碼:
fo = open('test.txt','w')
data = input('請輸入一組人員的姓名,性別,年齡:')
women_num = 0
age_amount = 0
person_num = 0
while data :name,sex,age = data.split('')if sex == '女':women_num +=1age_amount += int(age)person_num += 1data = input('請輸入一組人員的姓名,性別,年齡:')
average_age = age_amount / person_num
fo.write('平均年齡是{:.1f}女性人數是{}'.format(average_age,women_num))
fo.close()
來源網絡
?