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[' '] 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()