《Python》期末考卷B卷及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京邮电大学2016——2017学年第一学期
《Python》期末考试试题B卷
一、问答题(每题2分,共20分)
1、Python 语言加、减、乘和幂运算的运算符分别是什么? 2分
2、Python语言控制台输入函数和输出函数分别是什么? 2分
3、Python语言常见的3种错误?2分
4、请举出至少2个转义序列? 2分
5、请举出一个可变对象和一个不可变对象?2分
6、请给出两种循环控制结构? 2分
7、请给出一个无限循环的例子? 2分
8、请给出关系运算符中的等于和不等运算符? 2分
9、请问函数返回语句是什么? 2分
10、请给出定义函数的关键字和定义类的关键字?2分
二、给出下列代码行相应的输出(每题3分,共15分)
1、str1=“You miss {0:.0%} of the shots you never take. –Wayne Gretsky”
print(str1.format(1))
2、name=input(“enter name with two parts:”)
L=name.split()
print(“{0:s},{1,s} ”.format(L[1],L[0]))
(假设输入的名字是Charles Babbage)
3、a = 5
if (a>2) and ((a == 3) or (a<7)):
print(“Hi”)
4、for j in range(2,9,2):
print(j)
print(“Who do we appreciate?”)
5、def main():
##Display sentences using number,thing and place.
sentence(168,“hour”, “a week”)
sentence(76,“trombone”, “the big parade”)
def sentence(num,thing,where):
print(num,thing + “s in”,where)
main()
三、找出代码中的错误(每题3分,共15分)
1、list1 = [1,“two”, “three”, 4]
print(“ ” . join(list1))
2、q=1
while q>0:
q=3*q-1
print(q)
3、##Display all numbers from 0 through 19 except for 13.
for i in range(20,0):
if i!=13:
print(i)
4、##假设文件ABC.txt包含了三行数据a、b、c
out file = open(“Data.txt”,‘w’)
for i in range(5):
outfile.write(i)
onfile.close()
5、class Triangle:
def __init__(self,base, altitude)
self._base = base
self._altitude = altitude
四、请写一个函数,将文件中的行放置到列表中(10分)
提示函数头为def putLinesIntoList(inputfile):
五、编程题(20分)
1、文件States.txt包含了以加入联邦顺序排列的50个美国州的名字。编写一个程序,将州名字放在一个列表中,按照名字所含元音字母的数目进行降序排序,并显示列表中前6个州的名字。如图1所示。(10分)
图1 列表输出
2、请编写一个程序,模拟100000次扔两个骰子,显示两个骰子点数之和为7的次数占总次数的比例。(10分)
六、阐述题(20分)
请阐述什么是结构化编程,什么是面向对象编程,区别是什么?
《Python》期末考试试题b卷答案
一、问答题(每题2分,共20分)
1、加法运算符是:+,减法是:-,乘法是:*,除法是:/,幂运算:**
2、输入函数是input,输出函数是print。
3、语法错误、运行时错误、逻辑错误
4、制表符:\t和换行符:\n
5、可变对象:列表对象,不可变对象:元组对象
6、请给出两种循环控制结构? 2分
7、两种循环控制结构:for循环和while循环
8、while(True)
9、相等运算符是==,不等运算符是!=
10、return 语句
11、函数定义的关键字是def,类定义的关键字是class
二、给出下列代码行相应的输出(每题3分,共15分)
1、You miss 100% of the shots you never take. –Wayne Gretsky.
2、Babbage,Charles
3、Hi
4、2
4
6
8
Who do we appreciate?
5、168 hours in a week
76 trombones in the big parade
三、找出代码中的错误(每题3分,共15分)
1、连接方法仅适用于完全由字符串组成的列表。
2、无限循环。
3、构造函数范围应为range(0,20)或者range(20),因为range(20,0)不会生成任何值。同时,print语句必须缩进两倍,因为它属于if块。
4、write()的参数必须是一个字符串,而不是一个整数。
5、第一行的一对括号应改为冒号,同样冒号应该被放置在第二行末尾。
四、请写一个函数,将文件中的行放置到列表中(10分)
def putLinesIntoList(inputfile):
return [line for line in inputfile]
五、编程题(60分)
1、def main():
infile=open(“States.txt”,’r’)
listStates =[state.restrip() for state in infile]
infile.close()
listStates.sort(key=numberOfVowels,reverse=True)
for i in range(6):
print(listStates[i])
def numberOfVowels (word)
vowels=(‘a’,’e’,’I’,’o’,’u’)
total=0
for vowel in vowels:
total+=word.lower().count(vowel)
return total
main()
2、import pairOfDice
def main():
numberOfSevens=0
for i in range(100000):
dice= pairOfDice.PairOfDice()
dice.roll()
if dice.sum()==7:
numberOfSevens+=1
print(“7 occurred{0:.2%} of the time.”.
format(numberOfSevens/100000))
main()