感谢中国大学MOOC提供的学习平台,以下内容皆为自己测试的记录
测验1: Python基本语法元素 (第1周)
单项选择题
点击选项选择正确答案,每题有且仅有一个正确答案
1
1 分 #0032003700380032003300331588486939470 Guido van Rossum正式对外发布Python版本的年份是:
正确答案 B
Python成功了,所以早年的开发历史也受到关注,以下是Guido自述的启动阶段时间表:
"
December, 1989 Implementation started
1990 Internal releases at CWI
February 20, 1991 0.9.0 (released to alt.sources)
February, 1991 0.9.1
"
鉴于Internal release不算对外发布,普遍认为Python语言诞生于1991年。
2
1 分 #0032003700380032003300331588486939473 以下关于Python语言中“缩进”说法正确的是:
正确答案 A
Python语言的缩进只要统一即可,不一定是4个空格(尽管这是惯例)。
3
1 分 #0032003700380032003300331588486939475 以下不属于IPO模型的是:
4
1 分 #0032003700380032003300331588486939476 字符串是一个字符序列,给字符串s,以下表示s从右侧向左第三个字符的是:
5
1 分 #0032003700380032003300331588486939479 以下不是Python语言合法命名的是:
6
1 分 #0032003700380032003300331588486939481 在Python中,用于获取用户输入的函数是:
正确答案 D
get()不是Python内置函数,获得用户输入只有一种方式:input()。
7
1 分 #0032003700380032003300331588486939483 下面不属于Python保留字的是:
正确答案 A
type不是Python保留字,而是内置函数 type()。
8
1 分 #0032003700380032003300331588486939484 以下不是Python数据类型的是:
9
1 分 #0032003700380032003300331588486939486 哪个选项给出的保留字不直接用于表示分支结构?
正确答案 B
if-elif-else是分支表达,in用来进行成员判断。
10
1 分 #0032003700380032003300331588486939488 利用print()格式化输出,哪个选项用于控制浮点数的小数点后两位输出?
300331588487018712
Hello World的条件输出 描述 获得用户输入的一个整数,参考该整数值,打印输出"Hello World",要求:
如果输入值是0,直接输出"Hello World"
如果输入值大于0,以两个字符一行方式输出"Hello World"(空格也是字符)
如果输入值小于0,以垂直方式输出"Hello World"
输入输出示例 a = int(input())
hi = 'Hello World'
if a == 0:
print(hi)
elif a > 0:
for i in range(0, len(hi)-1, 2):
print(hi[i], hi[i + 1])
print('d')
else:
for i in hi:
print(i) 03300331588487042308
数值运算 描述 获得用户输入的一个字符串,格式如下:
M OP N
其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, /(加减乘除)
根据OP,输出M OP N的运算结果,统一保存小数点后2位。
注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。
输入输出示例 输入 输出 示例 1 10 + 100
1 / 20 110.00
0.05
a = input()
print('{:.2f}'.format(eval(a))) 测验2: Python基本图形绘制 (第2周)
单项选择题
点击选项选择正确答案,每题有且仅有一个正确答案
1
1 分 #0032003700380032003300331588487104032 哪个选项不能正确引用turtle库进而使用setup()函数?
正确答案 A
import只有三种使用方法,以turtle库为例:
import turtle
from turtle import setup 或 from turtle import *
import turtle as t (其中t是别名,可以更换其他名称)
2
1 分 #0032003700380032003300331588487104034 关于turtle库,哪个选项的描述是错误的?
3
1 分 #0032003700380032003300331588487104038 哪个选项是turtle绘图中角度坐标系的绝对0度方向?
正确答案 C
坐标系类似这样,角度坐标系的绝对0度方向是右侧
4
1 分 #0032003700380032003300331588487104041 哪个选项是下面代码的执行结果?
turtle.circle(-90,90)
A 绘制一个半径为90像素的弧形,圆心在小海龟当前行进的左侧
B 绘制一个半径为90像素的弧形,圆心在小海龟当前行进的右侧
正确答案 B
circle(x, y) 表示 以x长度为半径,y为角度,当前方向左侧x出为圆心,画圆。其中x和y都可以是负数,相应取反。
5
1 分 #0032003700380032003300331588487104043 关于turtle库绘图函数,哪个选项的描述是错误的?
A turtle.seth(to_angle)函数的作用是设置小海龟当前行进方向为to_angle,to_angle是角度的整数值
B turtle.fd(distance)函数的作用是向小海龟当前行进方向前进distance距离
C turtle.circle(radius, extent=None)函数的作用是绘制一个椭圆形,extent参数可选
D turtle.pensize(size)函数的作用是改变画笔的宽度为size像素
6
1 分 #0032003700380032003300331588487104044 关于turtle库的画笔控制函数,哪个选项的描述是错误的?
A turtle.width()和turtle.pensize()都可以用来设置画笔尺寸
B turtle.pendown()作用是落下画笔,并移动画笔绘制一个点
C turtle.penup()的别名有turtle.pu(),turtle.up()
D turtle.colormode()的作用是设置画笔RGB颜色的表示模式
正确答案 B
turtle.pendown()只是放下画笔,并不绘制任何内容。
7
1 分 #0032003700380032003300331588487104046 哪个选项不能改变turtle画笔的运行方向?
正确答案 C
bk()只能后退,但不改变方向,"后退"不是"转向"。
8
1 分 #0032003700380032003300331588487104049 哪个选项所列保留字能够实现对一组语句的循环执行?
正确答案 C
循环相关保留字是:for..in和while,但def用于定义函数,不相关。
9
1 分 #0032003700380032003300331588487104050 哪个选项能够使用turtle库绘制一个半圆形?
正确答案 D
circle(x,y)函数的用法,绘制半圆,第二个参数y是180的奇数倍。
10
1 分 #0032003700380032003300331588487104052 哪个选项对turtle.done()的描述是正确的?
A turtle.done()用来隐藏turtle绘制画笔,一般放在代码最后
B turtle.done()用来暂停画笔绘制,用户响应后还可以继续绘制
C turtle.done()用来停止画笔绘制,但绘图窗体不关闭
D turtle.done()放在代码最后,是turtle绘图的必要要求,表示绘制完成
正确答案 C
建议在每个turtle绘图最后增加turtle.done()。
3300331588487136939
turtle八边形绘制
描述 使用turtle库,绘制一个八边形。
注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。
输出示例 八边形效果如下:
#请在横线中填写Python表达式或语句,实现所需要的功能
#注意:补充代码将以匹配方式评阅,代码中不要出现空格
import turtle as t
t.pensize(2)
for i in range(8):
t.fd(100)
t.left(45) turtle八角图形绘制
描述 使用turtle库,绘制一个八角图形。
注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。
输出示例 八角图形效果如下:
#请在横线中填写Python表达式或语句,实现所需要的功能
#注意:补充代码将以匹配方式评阅,代码中不要出现空格
import turtle as t
t.pensize(2)
for i in range(8):
t.fd(150)
t.left(135) 测验3: 基本数据类型 (第3周)
单项选择题
点击选项选择正确答案,每题有且仅有一个正确答案
1
1 分 #0032003700380032003300331588487176741 pow(x, 0.5)能够计算x的平方根,计算负数的平方根将产生:
正确答案 A
>>> pow(-1, 0.5)(6.123233995736766e-17+1j)
2
1 分 #0032003700380032003300331588487176743 以下关于字符串.strip()方法功能说明正确的是:
正确答案 A
"去掉字符串两侧指定字符"对应功能是.strip()
"按照指定字符分割字符串为数组"对应功能是.split()
"替换字符串中特定字符"对应功能是.replace()
"连接两个字符串序列"对应功能是+操作符
3
1 分 #0032003700380032003300331588487176745 字符串是一个连续的字符序列,哪个选项可以实现打印字符信息的换行?
4
1 分 #0032003700380032003300331588487176746 val=pow(2,1000),请用一行代码返回val结果的长度值。
正确答案 A
len(str(val))首先通过str(val)将数字类型val变成字符串,再通过len()获得字符串长度,即val的数字个数。
5
1 分 #0032003700380032003300331588487176747 下面关于time库引用不正确的是?
C from time import strftime
正确答案 A
from * import time 应该是: from time import *
6
1 分 #0032003700380032003300331588487176749 哪个选项不是Python语言的整数类型?
正确答案 C
十进制:一般表示
二进制:0b 或 0B 开头
八进制:0o 或 0O 开头
十六进制:0x 或 0X 开头
没有0E开头
7
1 分 #0032003700380032003300331588487176751 关于整数类型的4种进制表示,哪个选项的描述是正确的?
8
1 分 #0032003700380032003300331588487176752 哪个选项是Python语言%运算符的含义?
9
1 分 #0032003700380032003300331588487176753 哪个选项是下面代码的执行结果?
name="Python语言程序设计课程"print(name[0],name[2:-2],name[-1])
正确答案 B
s[N:M]表示对字符串s的切片操作,从N到M,但不包含M
10
1 分 #0032003700380032003300331588487176754 哪个选项是下面代码的执行结果?
s='PYTHON'print("{0:3}".format(s)) 正确答案 A
{0:3}表示输出的宽度是3,但如果字符串超过长度3,则以字符串长度显示。
平方根格式化 描述 获得用户输入的一个整数a,计算a的平方根,保留小数点后3位,并打印输出。
输出结果采用宽度30个字符、右对齐输出、多余字符采用加号(+)填充。
如果结果超过30个字符,则以结果宽度为准。
输入输出示例 输入 输出 示例 1 10 +++++++++++++++++++++++++3.162
num = int(input())
result = pow(num, 0.5)
print("{:+>30.3f}".format(result)) 字符串分段组合 描述 获得输入的一个字符串s,以字符减号(-)分割s,将其中首尾两段用加号(+)组合后输出。
输入输出示例 输入 输出 示例 1 Alice-Bob-Charis-David-Eric-Flurry Alice+Flurry
a = input()
result = a.split('-')
print(f'{result[0]}+{result[-1]}') 测验4: 程序的控制结构 (第4周)
单项选择题
点击选项选择正确答案,每题有且仅有一个正确答案
1
1 分 #0032003700380032003300331588487349438 for var in ___:
print(var) 哪个选项不符合上述程序空白处的语法要求?
正确答案 A
for .. in .. 中 in 的后面需要是一个迭代类型(组合类型),{1;2;3;4;5}不是Python的有效数据类型。
2
1 分 #0032003700380032003300331588487349440 for i in range(0,2):
print(i) 哪个选项是以上程序的输出结果?
3
1 分 #0032003700380032003300331588487349442 k=10000while k>1:
print(k)
k=k/2 哪个选项给出了上述程序的输出次数?
4
1 分 #0032003700380032003300331588487349444 哪个选项是程序的三种基本结构?
5
1 分 #0032003700380032003300331588487349446 哪个选项关于循环结构的描述是错误的?
C 循环是程序根据条件判断结果向后反复执行的一种运行方式
正确答案 D
死循环能够用于测试性能,形式上的死循环可以用break来退出,例如:
x = 10while True:
x = x - 1
if x == 1:
break 死循环是有其作用的。
6
1 分 #0032003700380032003300331588487349449 关于Python语句P=-P,哪个选项的描述是正确的?
正确答案 A
Python中的=是赋值符号,==是判断相等性的等于符号。
7
1 分 #0032003700380032003300331588487349450 哪个选项是用来判断当前Python语句在分支结构中?
8
1 分 #0032003700380032003300331588487349452 哪个选项是下面代码的执行结果?
for s in "PYTHON":
if s=="T":
continue
print(s,end="") 9
1 分 #0032003700380032003300331588487349453 哪个选项是random库中用于生成随机小数的函数?
正确答案 B
randint()、getrandbits()、randrange()都产生随机整数,random()产生0到1之间的随机小数。
10
1 分 #0032003700380032003300331588487349455 关于try-except,哪个选项的描述是错误的?
正确答案 C
使用了异常处理,程序可能运行不会出错,但逻辑上可能出错。程序错误是一个大概念,不仅指代码运行错误,更代表功能逻辑错误。
四位玫瑰数 描述
四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。
请输出所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。
输入输出示例 输出仅表示格式,不表示对错。
for i in range(1000, 10000):
t = str(i)
if pow(eval(t[0]),4) + pow(eval(t[1]),4)
+ pow(eval(t[2]),4)+ pow(eval(t[3]),4) == i :
print(i)
100以内素数之和 描述 求100以内所有素数之和并输出。
素数指从大于1,且仅能被1和自己整除的整数。
提示:可以逐一判断100以内每个数是否为素数,然后求和。
输入格式 该题目没有输入
输入输出示例 输入 输出 示例 1 1234(这是示例,不是真实输出)
result = 0
for i in range(2,101):
if i%2==0 and i!=2:
continue
sign = True
for j in range(2,i):
if i%j==0:
sign =False
break
if sign:
result+=i
print(result) 单项选择题
点击选项选择正确答案,每题有且仅有一个正确答案
1
1 分 #0032003700380032003300331588487401105 以下选项不是函数作用的是:
2
1 分 #0032003700380032003300331588487401107 下列程序的输出结果为:
def f(a,b):
a=4
return a+bdef main():
a=5
b=6
print(f(a,b),a+b)main() 3
1 分 #0032003700380032003300331588487401108 以下关于Python函数说法错误的是:
def func(a,b):
c=a**2+b
b=a
return c
a=10
b=100
c=func(a,b)+a 正确答案 C
这里没有全局变量,请在IDLE中执行代码观察结果。
4
1 分 #0032003700380032003300331588487401110 以下关于函数调用描述正确的是:
正确答案 A
函数调用前必须已经存在函数定义,否则无法执行。
Python内置函数直接使用,不需要引用任何模块。
5
1 分 #0032003700380032003300331588487401112 以下关于模块化设计描述错误的是:
6
1 分 #0032003700380032003300331588487401116 以下对递归描述错误的是:
正确答案 A
递归不提高程序执行效率。
任何递归程序都可以通过堆栈或队列变成非递归程序(这是程序的高级应用)。
7
1 分 #0032003700380032003300331588487401117 以下关于函数说法错误的是:
正确答案 D
调用函数不需要知道函数内部实现原理,只需要知道调用方法(即接口)即可。
8
1 分 #0032003700380032003300331588487401120 哪个选项对于函数的定义是错误的?
正确答案 D
def vfunc(*a, b) 是错误的定义:*a表示可变参数,可变参数只能放在函数参数的最后。
9
1 分 #0032003700380032003300331588487401121 关于return语句,以下选项描述正确的是:
10
1 分 #0032003700380032003300331588487401123 以下关于递归函数基例的说法错误的是:
正确答案 A
每个递归函数至少存在一个基例,但可能存在多个基例。
随机密码生成 描述 补充编程模板中代码,完成如下功能:
以整数17为随机数种子,获取用户输入整数N为长度,产生3个长度为N位的密码,密码的每位是一个数字。每个密码单独一行输出。
产生密码采用random.randint()函数。
输入输出示例 #请在...补充代码
import random
def genpwd(length):
a = 10**(length-1)
b = 10**length - 1
return "{}".format(random.randint(a, b))
length = eval(input())
random.seed(17)
for i in range(3):
print(genpwd(length)) 31588487431757
连续质数计算 描述 补充编程模板中代码,完成如下功能:
获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。
注意:需要考虑用户输入的数字N可能是浮点数,应对输入取整数;最后一个输出后不用逗号。
输入输出示例 # 请在...补充一行或多行代码
def prime(m):
for i in range(2,m):
if m % i == 0:
return False
return True
n = eval(input())
a = int(n)
a = a+1 if a < n else a
count = 5
while count > 0:
if prime(a):
if count > 1:
print(a, end=",")
else:
print(a, end="")
count -= 1
a += 1
评论 (0)