python考核试题及答案
?????????????????Python測試(總分:120)
- 選擇題(每題2分,共20分)
1.下列哪個語句在Python中是非法的? (B)
A、x = y = z = 1 B、x = (y = z + 1)
C、x, y = y, x D、x += y??x=x+y
2.關于Python內存管理,下列說法錯誤的是 (B)
A、變量不必事先聲明 B、變量無須先創建和賦值而直接使用
C、變量無須指定類型 D、可以使用del釋放資源
3.print 100 - 25 * 3 % 4 應該輸出什么???(B)
A.1????????????B.97
C.25???????????D.0
4、下面哪個不是Python合法的標識符 (B)
A、int32 B、40XL C、self D、__name__
5、下列哪種說法是錯誤的 (A)
A、除字典類型外,所有標準對象均可以用于布爾測試
B、空字符串的布爾值是False
C、空列表對象的布爾值是False
D、值為0的任何數字對象的布爾值是False
6、下列表達式的值為True的是 (C)
A、5+4j > 2-3j B、3>2>2
7、Python不支持的數據類型有 (A)
A、char B、int C、float D、list
8、以下不能創建一個字典的語句是 (C)
A、dict1 = {} B、dict2 = { 3 : 5 }
C、dict3 = dict( [2 , 5] ,[ 3 , 4 ] )
D、dict4 = dict( ( [1,2],[3,4] ) )
9、下面不能創建一個集合的語句是 (C)
A、s1 = set () B、s2 = set (“abcd”)
C、s3 = (1, 2, 3, 4) D、s4 = frozenset( (3,2,1) )
10、下列Python語句正確的是 (D)
A、min = x if x < y else y B、max = x > y and?x : y
C、if (x > y) print x D、while True : pass
二.填空(每空一分,共10分)
設L=[‘a’,’b’,’c’,’d’,’e’,’f’,’g’],則L[3]值是_d___ ??L[3:5]值是__[‘d’,’e’]_ ?L[:5]值是__[‘a’,’b’,’c’,’d’,’e’]_ ??L[3:]值是__[’d’,’e’,’f’,’g’]_ ??L[-5:-2]值是__[’c’,’d’,’e’]_ ??L[::2]值是__[‘a’,’c’,’e’,’g’]_
Python中可變數據類型有__list___和___dict__,不可變數據類型有___int___和__str___
三、簡答題(每題5分,共45分)
1 聲明變量注意事項有那些?
答:
1.以字母、數字、下劃線組成,不能以數字開頭;
2.不能用關鍵字。
2 簡述 對象和 類的關系?
答:
類:抽象的,只有一個,一類事物的總稱;
對象:實體的,可以有多個,是類的具體實現。
3 Python里面如何實現tuple和list的轉換?
答:tuple(list)
list(tuple)
?
答:
與try語句連用,如果try語句正確,則不會執行except語句;
如果try語句錯誤,則跳轉到except語句,和except語句后的錯誤類型進行匹配,錯誤類型一致,則輸出相應except語句下的內容。如果都不匹配,則再一次執行try語句,并且報錯;
如果后面有else語句,在try語句正確的情況下執行;
如果后面有finally語句,一定執行;
?
5 Dict特點?
答:
1.key不重復,不可變;
3.可變數據類型。
?
?
6 ?List ?和tuple?區別
答:
相同點:都是有序集合
異同點:1. list是可變數據類型,tuple是不可變數據類型;
2.定義方式:list[] ??tuple()
3.list 有append(),insert()等方法;tuple沒有
???
7 定義函數的規則是?
答:
以def開頭,后接函數名和 ’():’,有參數寫在()中,下一行縮進,如果有返回值則寫在return后面。
?
8 面向對象語言都有封裝,繼承,多態,分別描述 封裝,繼承,多態的含義和作用?
答:
封裝:把類的屬性賦予給對象 作用:方便調用
繼承:子類繼承父類的屬性和方法 作用:減少代碼量
多態:一類事物的多種表現形式,父類的實現指向子類的引用,需要利用繼承,方法重寫,重載等方法 作用:減少代碼量
?
9 在python中f = open('d:/a.txt', 'r')讀取文件需要注意哪些
?答:
f是變量。open是打開文件,如果文件不存在,則創建后再打開。‘d:/a.txt’是文件路勁,代表d盤中一個名為‘a.txt’的文件,’r’是以讀的方式打開。
???
?
三 ?編程題(每題5分,共25分)
??1 .實現登錄功能(一個需求2分 ,共4分)
需求?1 實現用戶輸入用戶名和密碼,當用戶名為?admin且 密碼為?123?時,顯示登陸成功,否則登陸失敗!
答:
name = input(‘請輸入用戶名:’)
pw = input(‘請輸入用戶密碼:’)
if (name == ‘admin’)and ?(pw == ‘123’):
print(‘登錄成功’)
else:
Print(‘登錄失敗’)??????
?需求2 實現用戶輸入用戶名和密碼,當用戶名為?seven?且 密碼為?123?時,顯示登陸成功,否則登陸失敗,失敗時允許重復輸入三次
答:
for i in range(3):
name = input(‘請輸入用戶名:’)
pw = input(‘請輸入用戶密碼:’)
f (name == ‘admin’)and ?(pw == ‘123’):
print(‘登錄成功’)
break
else:
print(‘登錄失敗’)??
?
???
2 寫代碼,有如下變量,請按照要求實現每個功能(0.5分一個,共4分)
?name = " aleX?is a man"
?print(name.strip(‘?’))
print(name.count(‘a’))
3.?判斷?name?變量對應的值以a進行分割,并輸出結果
print(name.split(‘a’))
?
?
4. 將?name?變量對應的值a替換成w,并輸出結果
print(name.replace(‘a’,’w’))
?
5.?將?name?變量對應的值變小寫,并輸出結果
print(name.lower())
?
6.?請輸出?name?變量對應的值的第?2?個字符?
print(name[1])
?
7.?請輸出?name?變量對應的值的前?3?個字符?
print(name[:3])
?
8.?請輸出?name?變量對應的值的后?2?個字符?
print(name[-2:])
?
?
答:
a = input(‘請輸入一個字符串:’)
b = a.upper()
f = open(‘d:/test/b.txt’,’w+’)
f.write(b)
4 請用循環的方式輸出九九乘法表
答:
for i in range(1,10):
for j in range(1,10):
if j <= i:
print(j,'*',i,'=',(i*j))
5.輸入一個六位數,求各位數之和,如果各位數之和為36-45,則此數字為幸運數字。
答:
a = int(input(‘請輸入一個六位數:’))
if len(str(a)) == 6:
ge == a%10
ten == a%100//10
hu == a%1000//100
th == a%10000//1000
wan == a//10000%10
tw == a//100000
if (ge+ten+hu+th+wan+tw) >= 36 and (ge+ten+hu+th+wan+tw)<= 45:
Print(a,‘為幸運數字’)
else:
print(‘您輸入的位數有誤,請重新輸入。。。’)
6?某個公司采用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字都加上5,然后用和除以10的余數代替該數字,再將第一位和第四位交換,第二位和第三位交換。試輸入一個數,并求出對應的數字。(8分)
答:
num = int(input('請輸入一個四位數:'))
if len(str(num)) == 4:
ge = num % 10
ten = num%100//10
hu = num//100%10
th = num // 1000
?
ge1 = ge + 5
ge2 = ge1 % 10
?
ten1 = ten + 5
ten2 = ten1 % 10
?
hu1 = hu + 5
hu2 = hu1 % 10
?
th1 = th + 5
th2 = th1 % 10
?
print(‘加密后的數為:’,int((str(ge2)+str(ten2)+str(hu2)+str(hu2))))
?
else:
print('您輸入的位數有誤,請重新輸入')
?
7.一:定義一個學生類。有下面的類屬性:(12分)
1 姓名
2 年齡
3 成績(語文,數學,英語)[每課成績的類型為整數]
類方法:
1 獲取學生的姓名:get_name() 返回類型:str
2 獲取學生的年齡:get_age() 返回類型:int
3 返回3門科目中最高的分數。get_course() 返回類型:int
寫好類以后,可以定義2個同學測試下:
zm = Student('zhangming',20,[69,88,100])
返回結果:
Zhangming ??20 ???100
?
答:
class Student():
def __init__(self,name,age,score):
self.name = name
self.age = age
self.score = score
?
def get_name(self):
print(‘學生姓名:’,self.name)
?
def get_age(self):
print(‘學生年齡:’,self.age)
?
def get_course(self):
print(‘最高的分數:’,max(self.score))
?
zm?= Student(‘張明’,20,[69,88,100])
zm.get_name()
zm.get_age()
zm.get_course()
總結
以上是生活随笔為你收集整理的python考核试题及答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java接口和抽象类的区别和作用
- 下一篇: python破解zip密码