Python語言程序設(shè)計 參考答案(一)
( C ) 1. Guido van Rossum正式對外發(fā)布Python版本的年份是:???????????????????????????????????????
A. 2008
B. 2002
C. 1991
D. 1998
?
解析:Python成功了,所以早年的開發(fā)歷史也受到關(guān)注,以下是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不算對外發(fā)布,普遍認(rèn)為Python語言誕生于1991年。
?
????????????????????????????????????( D ) 2. 以下關(guān)于Python語言中“縮進(jìn)”說法正確的是:???????????????????????????????????????
A. 縮進(jìn)是非強制的,僅為了提高代碼可讀性
B. 縮進(jìn)統(tǒng)一為4個空格
C. 縮進(jìn)可以用在任何語句之后,表示語句間的包含關(guān)系
D. 縮進(jìn)在程序中長度統(tǒng)一且強制使用
Python語言的縮進(jìn)只要統(tǒng)一即可,不一定是4個空格(盡管這是慣例)。
?
???????????????????????????????????????( C ) 3. 以下不屬于IPO模型的是:???????????????????????????????????????
A. Output
B. Process
C. Program
D. Input
?
IPO:Input Process Output
?
( C ) 4. 字符串是一個字符序列,給字符串s,以下表示s從右側(cè)向左第三個字符的是:???????????????????????????????????????
A. s[0:-3]
B. s[3]
C. s[-3]
D. s[:-3]
?
字符串有正向遞增和反向遞減兩套序號體系
( B ) 5?????????????????????????????????????. 以下不是Python語言合法命名的是:???????????????????????????????????????
A. MyGod
B. 5MyGod
C. MyGod5
D. _MyGod_
合法命名的首字符不能是數(shù)字。
?
( B?) 6. 在Python中,用于獲取用戶輸入的函數(shù)是:???????????????????????????????????????
A. print()
B. input()
C. eval()
D. get()
?
get()不是Python內(nèi)置函數(shù),獲得用戶輸入只有一種方式:input()。
?
( C ) 7. 下面不屬于Python保留字的是:???????????????????????????????????????
A. import
B. elif
C. type
D. def
?
type不是Python保留字,而是內(nèi)置函數(shù) type()。
?
????????????????????????????????????( D ) 8. 以下不是Python數(shù)據(jù)類型的是:???????????????????????????????????????
A. 整數(shù)
B. 列表
C. 字符串
D. 實數(shù)
?
實數(shù)是數(shù)學(xué)中的概念,在Python中對應(yīng)浮點數(shù)。
?
???????????????????????????????????????( D ) 9. 哪個選項給出的保留字不直接用于表示分支結(jié)構(gòu)????????????????????????????????????????
A. else
B. if
C. elif
D. in
?
if-elif-else是分支表達(dá),in用來進(jìn)行成員判斷。
?
???????????????????????????????????????( D ) 10. 利用print()格式化輸出,哪個選項用于控制浮點數(shù)的小數(shù)點后兩位輸出????????????????????????????????????????
A. {:.2}
B. {.2}
C. {.2f}
D. {:.2f}
?
:.2f? 哪一個都不能少
?
11. Hello World的條件輸出
描述
獲得用戶輸入的一個整數(shù),參考該整數(shù)值,打印輸出"Hello World",要求:???????????????????????????????????????
如果輸入值是0,直接輸出"Hello World"???????????????????????????????????????
如果輸入值大于0,以兩個字符一行方式輸出"Hello World"(空格也是字符)???????????????????????????????????????
如果輸入值小于0,以垂直方式輸出"Hello World"???????????????????????????????????????
?
輸入輸出示例(紅色為輸入示例)
0
Hello World
?
參考代碼:
n = eval(input())
if n == 0:
??? print("Hello World")
elif n > 0:
??? print("He\nll\no \nWo\nrl\nd")
else:
??? for c in "Hello World":
??????? print(c)
答案可以有很多種寫法。
測試數(shù)據(jù):
0
Hello World
?
10
He
ll
o
Wo
rl
d
?
-1
H
e
l
l
o
?
W
o
r
l
d
?
12. 數(shù)值運算
描述
獲得用戶輸入的一個字符串,格式如下:???????????????????????????????????????
M OP N???????????????????????????????????????
?
其中,M和N是任何數(shù)字,OP代表一種操作,表示為如下四種:+, -, *, /(加減乘除)???????????????????????????????????????根據(jù)OP,輸出M OP N的運算結(jié)果,統(tǒng)一保存小數(shù)點后2位。???????????????????????????????????????
注意:M和OP、OP和N之間可以存在多個空格,不考慮輸入錯誤情況。
?
輸入輸出示例:
10 + 100
110.00
?
1 / 20
0.05
?
參考代碼:
s = input()
print("{:.2f}".format(eval(s)))
體會eval()函數(shù)的作用,在編程中用處很大。
?
測試用例:
100 + 10
110.00
?
1 / 20
0.05
?
10 / 99
0.10
?
-0.1 * 999
-99.90
?
0x99 -0.00001
153.00