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格式化輸出。