1.编写 Python 程序输出一个具有如下风格效果的文本,用作文本进度条样式,部分代码如下,填写空格处。
10%@==
20%@====
100%@====================
前三个数字,右对齐;后面字符,左对齐
文本中左侧一段输出 N 的值,右侧一段根据 N 的值输出等号,中间用 @ 分隔,等号个数为 N 与 5 的整除商的值,例如,当 N 等于 10 时,输出 2 个等号。
N = eval(input()) # N取值范围是0—100,整数print(①)
习题讲解
参考代码
N = 20 # N取值范围为0-100整数
print("{:>3}%@{}".format(N,"="*(N//5)))
2.以论语中一句话作为字符串变量 s,补充程序,分别输出字符串 s 中汉字和标点符号的个数。
s = “学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?”
n = 0 # 汉字个数
m = 0 # 标点符号个数
① # 在这里补充代码,可以多行
print(“字符数为{},标点符号数为{}。”.format(n, m))
习题讲解
参考代码
s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
n = 0 # 汉字个数
m = 0 # 标点符号个数
m = s.count(',') + s.count('?')
n = len(s) – m
print("字符数为{},标点符号数为{}。".format(n, m))
3.使用程序计算整数 N 到整数 N+100 之间所有奇数的数值和,不包含 N+100,并将结果输出。整数 N 由用户给出,代码片段如下,补全代码。不判断输入异常。
N = input("请输入一个整数: ")
① # 可以是多行代码
输入输出示例
输入 输出
3 2600
习题讲解
参考代码
N = input("请输入一个整数: ")
s = 0
for i in range(eval(N), eval(N)+100):
if i%2 == 1:
s += i
print(s)
4.B卷简单应用1
上一题 下一题
• 题目
• 提交代码
• 上传文件
• 答案与讲解
使用 turtle 库的 turtle.fd() 函数和 turtle.left() 函数绘制一个六边形,边长为 200 像素,效果如下图所示,请结合格式框架,补充横线处代码。
import turtle as t
for i in range(①):
t.fd(②)
t.left(③)
//每个角的度数:720°÷6=120°。
自动评阅说明
最后使用 print 函数输出 ①,②,____③____中应填代码即可以自动评阅得分,如果有运算符,请在运算符两侧加上空格,
例如,如果代码为:
import turtle as t
for i in range(2):
t.fd(i + 100)
t.left(200)
在提交代码页面输入: print(2, ‘i + 100’, 200),运行即可
习题讲解
参考代码
import turtle as t
for i in range(6):
t.fd(200)
t.left(60)
5.经常会有要求用户输入整数的计算需求,但用户未必一定输入整数。为了提高用户体验,编写 getInput() 函数处理这样的情况。请补充如下代码,如果用户输入整数,则直接输出整数并退出,如果用户输入的不是整数,则要求用户重新输入,直至用户输入整数为止。
def getInput():
① # 可以是多行代码
return ② # 只能是单行代码
print(getInput())
习题讲解
参考代码
def getInput():
try:
txt = input() # "请输入整数: "
while eval(txt) != int(txt):
txt = input() # "请输入整数: "
except:
return getInput()
return eval(txt)print(getInput())
6.《天龙八部》是著名作家金庸的代表作之一,历时4年创作完成。该作品气势磅礴,人物众多,非常经典。这里给出一个《天龙八部》的网络版本,文件名为“天龙八部-网络版.txt”。
问题1:请编写程序,对这个《天龙八部》文本中出现的汉字和标点符号进行统计,字符与出现次数之间用冒号:分隔,输出保存到“天龙八部-汉字统计.txt”文件中,该文件要求采用 CSV 格式存储,参考格式如下(注意,不统计空格和回车字符):
天:100, 龙:110, 八:109, 部:10
(略)
问题2:请编写程序,对《天龙八部》文本中出现的中文词语进行统计,采用 jieba 库分词,词语与出现次数之间用冒号:分隔,输出保存到“天龙八部-词语统计.txt”文件中。参考格式如下(注意,不统计任何标点符号):
天龙:100, 八部:10
(略)
本题暂不支持自动评阅,print(‘ok’),即可得分
习题讲解
参考代码 1
fi = open("天龙八部-网络版.txt", "r", encoding='utf-8')
fo = open("天龙八部-汉字统计.txt", "w", encoding='utf-8')
txt = fi.read()
d = {}for c in txt:
d[c] = d.get(c, 0) + 1del d[' ']del d['\n']
ls = []for key in d:
ls.append("{}:{}".format(key, d[key]))
fo.write(",".join(ls))
fi.close()
fo.close()
参考代码 2
import jieba
fi = open("天龙八部-网络版.txt", "r", encoding='utf-8')
fo = open("天龙八部-词语统计.txt", "w", encoding='utf-8')
txt = fi.read()
words = jieba.lcut(txt)
d = {}for w in words:
d[w] = d.get(w, 0) + 1del d[' ']del d['\n']
ls = []for key in d:
ls.append("{}:{}".format(key, d[key]))
fo.write(",".join(ls))
fi.close()
fo.close()