计算机二级考试Python程序设计类的练习题
一、选择题
-
python 是一种______类型的编程语言。( B )
A.机器语言
B.解释
C.编译
D.汇编语言 -
Python预语句print(‘世界,你好’)的输出结果是。( C )
A.(‘世界,你好’)
B. ‘世界,你好’
C. 世界,你好
D. 运行结果出错 -
Python语言通过()来体现语句之间的逻辑关系。( C )
A. {}
B. ()
C. 缩进
D. 自动识别逻辑 -
Python 解释器在语法上不支持()编程方式。( D )
A. 面对过程
B. 面对对象
C. 语句
D. 自然语言 -
以下不属于Python语言特点的是。( B )
A. 语法简洁
B. 依赖平台
C. 支持中文
D. 类库丰富 -
关于Python版本,以下说法正确的是。( B )
A. Python3.x是Python2.x的扩充,语法层面无明显改进
B. Python3.x代码无法向下兼容Python2.x的既有语法
C. Python2.x和Python3.x一样,依旧不断完善和发展
D. 以上说法都正确 -
Python的输入来源包括。( D )
A. 文件输入
B. 控制台输入
C. 网络输入
D. 以上都是 -
以下不是IPO模式的是。( B )
A. input
B. program
C. process
D. output -
采用IDLE进行交互编程,其中’>>>'符号是。( C )
A. 运算操作符
B. 程序控制符
C. 命令提示符
D. 文件输入符 -
关于Python语言,以下说法错误的是。( B )
A. Python语言由Guido van Rossum设计并领导开发
B. Python语言由PSF组织所有,这是一个商业组织
C. Python语言提倡开放开源理念
D. Python语言的使用不需要付费,不存在商业风险
二、基本操作
- 键盘输入字符串s,按要求将s输出到屏幕,格式要求:宽度为30个字符,星号字符填充,居中对齐。如果输入字符串超过30位,则全部输出。
例如:键盘输入字符串s为“Congratulations”,屏幕输出******Congratulations********
s = input("请输入一个字符串:")
print("{:*^30}".format(s))
- 根据斐波那契数列的定义,F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2),输出不大于50的序列元素。
例如,屏幕输出实例为:0,1,1,2,3,…(略)
a,b = 0,1
while a<50:
print(a,end=',')
a,b = b,a+b
- 键盘输入一句话,用jieba分词后,将切分的词组按照在原话中逆序输出到屏幕上,词组中间没有空格。示例如下:
输入:我爱老师
输出:老师爱我
import jieba
txt = input("请输入一段中文文本:")
ls = jieba.lcut(txt)
for i in ls[::-1]:
print(i,end='')
三、简单应用
- 使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为100的三角形,效果如下图所示。
import turtle
for i in range(3):
turtle.seth(i*120)
turtle.fd(100)
- 键盘输入一组水果名称并以空分隔,共一行。示例如下:
苹果 芒果 草莓 芒果 苹果 草莓 芒果 香蕉 芒果 草莓
统计各类型的数量,从数量多到少的顺序输出类型及对应数量,以英文冒号分隔,每个类型一行。输出参考格式如下:
芒果:4
草莓:3
苹果:2
香蕉:1
输出结果要求用txt文件,命名为PY202.txt保存。
fo = open("PY202.txt","w")
txt = input("请输入类型序列:")
fruits = txt.split(" ") # 分割条件是一个空格
d = {}
for fruit in fruits:
d[fruit]=d.get(fruit,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1],reverse=True) # 按照数量排序
for k in ls:
fo.write("{}:{}\n".format(k[0],k[1]))
fo.close()