《Python》期末考卷B卷及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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()

相关文档
最新文档