1、考生文件夹下存在一个文件 PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入正整数 n,按要求把 n 输出到屏幕,格式要求:宽度为 20 个字符,减号字符 - 填充,右对齐,带千位分隔符。如果输入正整数超过 20 位,则按照真实长度输出。
例如:键盘输入正整数 n 为 1234,屏幕输出 --------------1,234
n = eval(input("请输入正整数:")) |
真题解析:▲本题考查Format格式化输出。
2、考生文件夹下存在一个文件 PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:随机选择一个手机品牌屏幕输出。
import random |
真题解析:▲本题考查random库,由于已经有了brandlist列表,因此在列表中任选一个元素要用random.sample而不是random.randint。
3、考生文件夹下存在一个文件 PY101.py,请写代码替换横线,实现以下功能:
从键盘输入 4 个数字,各数字采用空格分隔,对应为变量 x0,y0,x1,y1。计算两点(x0,y0)和(x1,y1)之间的距离,屏幕输出这个距离,保留 2 位小数。
例如:键盘输入:0 1 3 5 屏幕输出:5.00
ntxt = input("请输入4个数字(空格分隔):") |
真题解析:▲▲考察split的用法。由于ntxt是用空格分开的,因此split后面只写()即可
4、考生文件夹下存在一个文件 PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入字符串 s,按要求把 s 输出到屏幕,格式要求:宽度为 20 个字符,等号字符 = 填充,居中对齐。如果输入字符串超过 20 位,则全部输出。
例如:键盘输入字符串 s 为 "PYTHON",屏幕输出 =======PYTHON=======
s = input("请输入一个字符串:") |
真题解析:▲本题考查Format格式化输出。
5、考生文件夹下存在一个文件 PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入正整数 n,按要求把 n 输出到屏幕,格式要求:宽度为 15 个字符,数字右边对齐,不足部分用 * 填充。
例如:键盘输入正整数 n 为 1234,屏幕输出 ***********1234
n = eval(input("请输入正整数:")) |
真题解析:▲本题考查Format格式化输出。
6、考生文件夹下存在一个文件 PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入正整数 n,按要求把 n 输出到屏幕,格式要求:宽度为 14 个字符,数字中间对齐,不足部分用 = 填充。
例如:键盘输入正整数 n 为 1234,屏幕输出 =====1234=====
n = eval(input("请输入正整数:")) |
真题解析:▲本题考查Format格式化输出。
7、考生文件夹下存在一个文件 PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入正整数 s,按要求把 s 输出到屏幕,格式要求:宽度为 25 个字符,等号字符(=)填充,右对齐,带千位分隔符。如果输入正整数超过 25 位,则按照真实长度输出。
例如:键盘输入正整数 s 为 1234,屏幕输出 =====================1,234
s = input() |
真题解析:▲本题考查Format格式化输出。本题需要注意的是,s输入的是字符串,所以在format后要用eval使其输出的是数字。
8、获得用户输入的一个数字,对该数字以 30 字符宽度,十六进制,居中输出,字母小写,多余字符采用双引号(")填充,请完善 PY101.py 中代码。
s = input() |
真题解析:▲▲本题考查Format格式化输出。本题需要注意的是,”之前必须要用转义字符\
9、在考生文件夹下有个文件PY101.Py,在横线处填写代码,完成如下功能。程序接收用户输入的五个数,以逗号分隔。将这些数字按照输入顺序输出,每个数字占10个字符宽度,右对齐,所有数字显示在同一行。例如:
输入:23, 42, 543, 56, 71
输出:
23 42 543 56 71
num = input().split(“,”) |
真题解析:▲▲▲本题考查Format格式化输出和split的用法,注意题目要求输出的数字要显示在同一行,因此最后要加上end = “ “。此处还有我的疑惑:为什么format后面不是eval(i)而是单独的i
10、在考生文件夹下有个文件PY101.Py,在横线处填写代码,完成如下功能。接收用户输入的一个小于20的正整数,在屏幕上逐行递增显示从01到该正整数,数字显示的宽度为2,不足位置补0,后面追加一个空格,然后显示'>’号,'>’号的个数等于行首数字。例如:
输入:3
输出:
01 >
02 >>
03 >>>
n = input('请输入一个正整数:') |
真题解析:▲▲本题考察的是Format格式化输出。注意两个{}之间有个空格
11、在考生文件夹下有个文件PY101.py,在横线处填写代码,完成如下功能。接收用户输入的一个大于10小于108的十进制正整数,输出这个正整数各字符的和,以25为宽度,居中显示,采用等号填充。例如:
输入:1357
输出:===========16===========
s = input("请输入一个正整数: ") print('{:=^25}'.format(cs)) |
真题解析:▲▲本题考察的是Format格式化输出。
12、考生文件夹下存在一个文件 PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:
接收用户输入的一个浮点数,输出这个浮点数的小数部分各字符的和,以 10 为宽度,靠右显示,采用星号 * 填充。
例如:键盘输入 1234.5678,屏幕输出 ********26
s = input("请输入一个小数: ") |
真题解析:▲▲▲本题考察的是break的用法。s = s[::-1]是将s倒序排列,这样可以让小数部分在前面,当遇到”.”的时候,则使用break跳出循环,其余部分不再计算。
13、编写代码替换横线,不修改其他代码,实现下面功能
用户按照列表格式输入数据,将用户输入的列表中属于字符串类型的元素连接成一个整字符串,并打印输出。
输入
[123,"Python",98,"等级考试"]
输出
Python 等级考试
ls = eval(input()) |
真题解析:▲▲本题还是比较简单的,type(item) == type("香山")即可表明item的数据类型是字符串。但是最后s += item 而不是s += str(item)需注意。
14、在考生文件夹下存在一个Python源文件PY101.Py,请编写代码替换横线,不修改其他代码,实现下面功能:
获得用户输入的一个整数n,输出一个n-1行的数字三角形阵列。该阵列每行包含的整数序列为从该行序号开始到n-1,例如第1行包含1到n-1的整数,第i行包含从i到n-1的整数;数字之间用英文空格分隔。
输入:8
输出:
1 2 3 4 5 6 7
2 3 4 5 6 7
3 4 5 6 7
4 5 6 7
5 6 7
6 7
7
n = eval(input("请输入一个整数:")) |
真题解析:▲▲本题是一道逻辑题,当i<=j时,输出j,用空格隔开,同一行输出所有j;然后换行,直至循环所有i
15、考生文件夹下存在一个文件PY101.Py,请写代码替换横线,不修改其他代码,实现以下功能:键盘输入字符串s,按要求把s输出到屏幕,格式要求:宽度为20个字符,等号字符=填充,居中对齐。如果输入字符串超过20位,则全部输出。例如:键盘输入字符串s为“PYTHON",屏幕输出=======PYTHON=======
a = input("请输入填充符号:") |
真题解析:▲▲▲本题考察的是Format格式化输出。注意format括号内,左边先写大括号中的内容,右边再写内括号中的内容,顺序不能反了。
16、在考生文件夹下存在一个 Python 源文件 PY101.py,请编写代码替换横线,不修改其他代码,实现下面功能:
获得用户输入的浮点数,以 10 字符宽度、靠右输出这个浮点数,小数点后保留 2 位数。
示例如下(其中数据仅用于示意):
请输入一个浮点数:2.4
浮点数是: 2.40
请输入一个浮点数:5.98320
浮点数是: 5.98
f = eval(input("请输入一个浮点数:")) print("浮点数是:{:>10.2f }".format(f)) |
真题解析:▲▲本题考察的是Format格式化输出。.2f表示保留2位小数。
17、在考生文件夹下存在一个 Python 源文件 PY101.py,请编写代码替换横线,不修改其他代码,实现下面功能:
获得用户输入的一个由姓名、年龄字符串组成的若干学生信息,学生信息之间用英文逗号分隔,将输入的学生信息输出,每个信息一行,将姓名和年龄用英文逗号分隔,第一行输出姓名、年龄标题信息。
示例如下(其中数据仅用于示意):
输入:张丽丽 26, 王云 25, 李莉 21, 王晓芳 23
输出:
姓名,年龄
张丽丽,26
王云,25
李莉,21
王晓芳,23
sinfo = input() sinfo = sinfo.split(“,”) print("姓名,年龄") for strname in sinfo: sname = strname[:-2] sage = strname[-2:] print("{}, {}".format(sname, sage)) |
真题解析:▲▲▲▲sname取的是每一个strname倒数第二个位置之前的全部,sage取的是每个strname的最后两个字符。易错部分已经用红色标出。
18、在考生文件夹下存在一个 python 源文件 py101.py,请编写代码替换横线,不修改其他代码,实现下面功能:
获得用户输入的一个长度小于 20 的英文单词,以 20 字符宽居中输出这个单词。第一行输出 20 个 “=” 符号,第二行和第一行宽度一致,左右两边输出 “|”,单词居中,其他位置用 “*” 填充。
输入:请输入一个单词: python
输出:
===============
|*******python******|
f = input("请输入一个单词:") print("{}".format(‘=’ * 20)) print("{|{:*^18}|}".format(f)) |
真题解析:▲▲▲注意第一行前面的花括号没有内容,后面的花括号写‘=’ * 20。
19、在考生文件夹下存在一个 python 源文件 py101.py,请写代码替换横线,不修改其他代码,实现下面功能:
请用户输入一个整数作为圆的半径,计算圆的面积,将半径和面积显示在屏幕上。半径以浮点数方式居中显示,小数点后 2 位,总宽度为 10,空白处以 “=” 填充;圆的面积以浮点数方式右对齐显示,小数点后 2 位,总宽度为 10,空白处以 “*” 填充。示例如下:
输入:4
输出:圆的半径是 ===4.00===,面积是 *****50.27
pi = 3.14159 r = eval(input()) print("圆的半径是{:=^10.2f},面积是{:*>10.2f}".format(r, pi * r * r)) |
真题解析:▲▲本题考察的是format格式化输出。