1.
根據輸入正整數 n,作為財務數據,輸出一個寬度為 20 字符,n 右對齊顯示,帶千位分隔符的效果,使用減號字符“-”填充。如果輸入正整數超過 20 位,則按照真實長度輸出。提示代碼如下:
n = input() ____①____ #可以多行
輸入輸出示例
輸入 | 輸出 | |
示例 1 | |
|
參考代碼
n = input() # 請輸入整數 print("{:->20,}".format(eval(n)))
2.
PyInstaller 庫可以對程序打包,給定一個 Python 源程序文件 a.py,圖標文件為 a.ico,將其打包為在 Windows 平台上帶有上述圖標的單一可執行文件,使用什么樣的命令?
print 這個命令即可自動評閱
參考代碼
pyinstaller –i a.ico –F a.py
3.
以 123 為隨機數種子,隨機生成 10 個在 1 到 999(含)之間的隨機數,以逗號分隔,打印輸出,請補充橫線處代碼。提示代碼如下
import random ____①____ for i in range(____②____): print(____③____, end=",")
提交代碼
import random
____①____
for i in range(____②____):
print(____③____, end=",")
參考代碼
import random random.seed(123) for i in range(10): print(random.randint(1,999), end=",")
4.
使用 turtle 庫的 turtle.right() 函數和 turtle.fd() 函數繪制一個菱形四邊形,邊長為 200 像素,效果如下圖所示。請勿修改已經給出的第一行代碼,並完善程序。
提示代碼:
import turtle as t
參考代碼
import turtle as t t.right(-30) for i in range(2): t.fd(200) t.right(60*(i+1)) for i in range(2): t.fd(200) t.right(60*(i+1))
5.
補充完善如下代碼,使得程序能夠計算 a 中各元素與 b 逐項乘積的累加和。
提示代碼如下:
a = [[1,2,3], [4,5,6], [7,8,9]] b = [3,6,9] ____①____ for c in a: for j in ____②____: s += c[j]*b[j] print(s)
參考代碼
a = [[1,2,3], [4,5,6], [7,8,9]] b = [3,6,9] s = 0 for c in a: for j in range(3): s += c[j]*b[j] print(s)
6.
《命運》和《尋夢》都是著名科幻作家倪匡的科幻作品。這里給出一個《命運》和《尋夢》的網絡版本,文件名為“命運-網絡版.txt”和“尋夢-網絡版.txt”。
問題1:請編寫程序,對這兩個文本中出現的字符進行統計,字符與出現次數之間用冒號:分隔,將兩個文件前 100 個最常用字符分別輸出保存到“命運-字符統計.txt”和“尋夢-字符統計.txt”文件中,該文件要求采用 CSV 格式存儲,參考格式如下(注意,不統計回車字符):
命:90, 運:80, 尋:70, 夢:60 (略) |
問題2:請編寫程序,對“命運-字符統計.txt”和“尋夢-字符統計.txt”中出現的相同字符打印輸出。“相同字符.txt”文件中,字符間使用逗號分隔。
本題暫不支持自動評閱,print('ok') 即可得分並查看答案。
參考代碼 1
names = ["命運", "尋夢"] for name in names: fi = open(name+"-網絡版.txt", "r", encoding="utf-8") fo = open(name+"-字符統計.txt", "w", encoding="utf-8") txt = fi.read() d = {} for c in txt: d[c] = d.get(c, 0) + 1 del d['\n'] ls = list(d.items()) ls.sort(key=lambda x:x[1], reverse=True) for i in range(100): ls[i] = "{}:{}".format(ls[i][0], ls[i][1]) fo.write(",".join(ls[:100])) fi.close() fo.close()
參考代碼 2
def getList(name): f = open(name+"-字符統計.txt", "r", encoding="utf-8") words = f.read().split(',') for i in range(len(words)): words[i] = words[i].split(':')[0] f.close() return words def main(): fo = open("相同字符.txt", "w") ls1 = getList("命運") ls2 = getList("尋夢") ls3 = [] for c in ls1: if c in ls2: ls3.append(c) fo.write(",".join(ls3)) fo.close() main()