Python語言程式設計 (第11期) 測驗8: 程式設計方法學

unseven發表於2020-04-08

共10道單選題和2道程式設計題,限答1次、限時45分鐘

選擇題
1.關於計算思維,以下選項描述正確的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (D)
A.計算思維關於設計和構造,可以脫離計算機而存在
B.計算思維是邏輯思維的演進
C.計算思維從古至今一直存在
D.計算思維是基於計算機的思維模式

正確答案 D
計算思維是基於計算機的思維模式,計算機出現之前,由於沒有快速計算裝置,計算所反映的思維模式主要是數學思維,即通過公式來求解問題。當快速計算裝置出現後,計算思維才真正形成

2.關於軟體產品和程式的區別,以下描述正確的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (A)
A.軟體產品=程式功能+使用者體驗
B.軟體產品=程式功能+速度優化
C.軟體程式就是軟體產品
D.從程式功能到軟體產品的產品化代價很小

正確答案 A
產品不僅需要功能,更需要更好的使用者體驗。往往,產品都需要綜合考慮技術功能和人文設計,這源於產品的商業特性。即,商業競爭要求產品不能只關心技術功能,更要關心使用者易用和喜好需求。

3.關於os庫,以下選項中可以啟動程式執行程式的函式是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬(C )
A.os.start()
B.os.process()
C.os.system()
D.os.run()

正確答案 C
就見過os.system()方法,之後才知道,其他三個函式不存在,是瞎寫的

4.以下選項關於計算生態描述錯誤的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (A)
A.高質量計算生態需要頂層設計的參與才能保障
B.計算生態存在競爭發展、相互依存和迅速更迭的特點
C.計算生態類似自然生態,不受單一組織或人物的控制,形成了技術演化路徑
D.計算生態主要以開源專案為組織形式

正確答案 A
計算生態以競爭發展、相互依存和迅速更迭為特點,在開源專案間不存在頂層設計,以類自然界"適者生存"的方式形成技術演進路徑

5.關於os.path子庫,以下選項中用來計算相對路徑的函式是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬(C )
A.os.path.normpath(path)
B.os.path.abspath(path)
C.os.path.relpath(path)
D.os.path.basename(path)

正確答案 C
顧名思義:os.path.relpath(path) 是 relative path處理函式。

6.關於Python的os庫,以下選項描述正確的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (C )
A.os庫是一個第三方庫,需要安裝後使用
B.os庫提供了幾十個函式,功能比較有限
C.os庫提供了路徑操作、程式管理等若干類功能
D.os庫僅適用於Windows平臺

正確答案 C
os庫是Python重要的標準庫之一,提供了幾百個函式功能,覆蓋與作業系統、檔案操作等相關的眾多功能。os庫適合所有作業系統。

7.關於使用者體驗,以下選項描述正確的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬(A)
A.程式設計只是手段,程式最終為人類服務,使用者體驗很重要
B.使用者體驗是客觀的,完全可以靠技術來實現
C.
使用者體驗不重要,只要有程式功能即可
D.好產品不一定有好的使用者體驗,關鍵在於功能創意

8.自頂向下設計主要由下列哪個語法元素實現?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (C )
A.物件
B.迴圈結構
C.函式
D.過程

正確答案 C
函式是自頂向下設計的關鍵元素,通過定義函式及其引數逐層開展程式設計。

9.以下選項對計算思維本質描述正確的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (C )
A.計算和思維
B.抽象和執行
C.抽象和自動化
D.描述和執行

10.關於Python第三方庫安裝方法,以下選項描述錯誤的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (C )
A.使用pip命令
B.訪問UCI網站下載安裝檔案
C.聯絡第三方庫作者索要安裝檔案
D.使用整合安裝工具

程式設計題

1.英文字元的魯棒輸入
描述
獲得使用者的任何可能輸入,將其中的英文字元進行列印輸出,程式不出現錯誤

輸入輸出
*&^123abc0eabce

標準答案如下

alpha = []
for i in range(26):
    alpha.append(chr(ord('a') + i))
    alpha.append(chr(ord('A') + i))
s = input()
for c in s:
    if c in alpha:
        print(c, end="")

我是這樣寫的

ls=""
s=input()
for each in s:
    if(each>='a'and each<='z') or (each>='A' and each<='Z'):
        ls+=each
print(ls)

2.數字的魯棒輸入
描述
獲得使用者輸入的一個數字,可能是浮點數或複數,如果是整數僅接收十進位制形式,且只能是數字。對輸入數字進行平方運算,輸出結果。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬
要求:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬
(1)無論使用者輸入何種內容,程式無錯誤;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬
(2)如果輸入有誤,請輸出"輸入有誤"。

輸入輸出
1+2j(-3+4j)
abd輸入有誤

標準答案如下

s = input()
try:
    if complex(s) == complex(eval(s)):
        print(eval(s)**2)
except:
    print("輸入有誤")

相關文章