以123 为随机种子,随机生成10个介于1(含)到999(含)之间的随机数,每个随机数后跟随一个逗号进行分隔,屏幕输出这10个随机数。
建议使用本地Python 集成开发环境IDLE 编写,调试以及验证程序。
import random
random.seed(123)
for i in range(10):
print(random.randint(1, 999), end=",")
请在模板中写代码替换横线,不修改其它代码,请实现以下功能:
随机选择手机品牌列表brandlist = ['华为','苹果','诺基亚','OPPO','小米']
中的一个手机品牌,屏幕输出。
提示:建议使用本机提供的Python 集成开发环境IDLE 编写、调试及验证程序。
import random
brandlist = ['华为','苹果','诺基亚','OPPO','小米']
random.seed(0)
i = random.randint(0, 4)
name = brandlist[i]
print(name)
请写代码替换横线,不修改其他代码,实现以下功能:
获得用户输入的一个字符串,将字符串逆序输出,同时紧接着输出该字符串所包含字符的个数,请完善代码。
s = input()
print(s[:: -1], end="")
print(len(s))
使用turtle 库的turtle.fd()函数和turtle.left()函数绘制一个边长为200像素的正方形及一个紧挨四个顶点的圆形,写入代码替换模板中的横线,不得修改其他代码,效果如图
该题在本平台不支持自动评阅,评分默认正确,需自己在IDLE 中调试检查。
import turtle
turtle.pensize(2)
for i in range(4):
turtle.fd(200)
turtle.left(90)
turtle.left(-45)
turtle.circle(100*pow(2, 0.5))
使用字典和列表型变量完成村长选举。某村有40名有选举权和被选举权的村民,名单在附件name.txt中,从这40名村民中选出一人当村长,40人的投票信息由附件vote.txt中给出,每行是一张选票的信息,有效票中得票最多的村民当选。
问题:请从vote.txt 中筛选出无效票写入文件vote1.txt 。有效票的含义是:选票中只有一个名字且该名字在name.txt文件列表中,不是有效票的票称之为无效票。
问题:给出当选村长的名字及其得票数。
f = open("name.txt", encoding="utf-8")
names = f.readlines()
f.close()
f = open("vote.txt", encoding="utf-8")
votes = f.readlines()
f.close()
D = {}
NUM = 0
print(votes)
for vote in votes:
num = len(vote.split()) # 分解成列表,并求列表长度(元素个数)
if num == 1 and vote in names: # 仅一个且在姓名中,有效
D[vote[:-1]] = D.get(vote[:-1], 0) + 1
NUM += 1
else:
with open("vote1.txt", "a+", encoding="utf-8") as fi:
fi.write("{}".format(vote)) # 如果无效,保存到vote1文件内
f = open("name.txt", encoding="utf-8")
names = f.readlines()
f.close()
f = open("vote.txt", encoding="utf-8")
votes = f.readlines()
f.close()
D = {}
NUM = 0
for vote in votes:
num = len(vote.split()) # 分解成列表,并求列表长度(元素个数)
if num == 1 and vote in names: # 仅一个且在姓名中,有效
D[vote[:-1]] = D.get(vote[:-1], 0)+1
NUM += 1
l = list(D.items())
l.sort(key=lambda s: s[1], reverse=True)
name = l[0][0]
score = l[0][1]
print("有效票数为:{} 当选村民为:{},票数为:{}".format(NUM, name, score))
《命运》是著名科幻作家倪匡的作品。这里给出《命运》的一个网络本文件,文件名为“命运.txt”
问题一 、(5分)在右侧修改代码,对“命运.txt”文件进行字符频次统计,输出频次最高的中文字符(不包括标点符号)及其频次,字符与频次之间采用英文冒号“:”分隔
示例格式如下:
理:224
txt = open("命运.txt", "r", encoding="utf-8").read() #正式考试可以不用指定编码,用系统默认。
for ch in ",。?:":
txt = txt.replace(ch, "")
d = {}
for ch in txt:
d[ch] = d.get(ch, 0) + 1
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True)
a, b = ls[0]
print("{}:{}".format(a, b))
问题二、(5分)在右侧编程模板中修改代码,对“命运.txt”文件进行字符频次统计,按照频次由高到低,在屏幕输出前10个频次最高的字符,不包含回车符,字符之间无间隔,连续输出
**示例格式如下:**
理斯卫...(后略,共10个字符)
txt = open("命运.txt", "r", encoding="utf-8").read()
for ch in '\n':
txt = txt.replace(ch, "")
d = {}
for ch in txt:
d[ch] = d.get(ch, 0) + 1
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True) # 此行可以按照词频由高到低排序
for i in range(10):
print(str(ls[i])[2], end="")
问题三、(10分)在右侧修改代码,对“命运.txt”文件进行字符频次统计,将所有字符按照频次从高到低排序,字符包括中文、标点、英文等符号,但不包含空格和回车。将排序后的字符及频次输出到考生文件夹下,文件名为“命运-频次排序.txt”。 字符与频次之间采用英文冒号“:”分隔,各字符之间采用英文逗号“,”分隔,参考CSV格式,最后无逗号
**文件内部示例格式如下:**
理:224,斯:120,卫:100
txt = open("命运.txt", "r", encoding="utf-8").read()
for ch in ' \n':
txt = txt.replace(ch, "")
d = {}
for ch in txt:
d[ch] = d.get(ch, 0) + 1
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True) # 此行可以按照词频由高到低排序
string = ""
for i in range(len(ls)):
s = str(ls[i]).strip("()")
if i < len(ls) - 1:
string = string + s[1] + ':' + s[5:] + ','
else:
string = string + s[1] + ':' + s[5:]
f = open("命运-频次排序.txt", "w", encoding="utf-8")
f.write(string)
f.close()