1
1.1
s= input(“请输入一个字符串:”)
print (“{:*^}”.format(s))
1.2
a, b =0, 1
while a <= 50:
print (a, end=',')
a, b =b, a+b
1.3
import jieba
txt =input ("请输入一段文本:“)
ls = jieba. lcut (txt)
for i in Is[::-1]:
print (i, end=“”)
1.4
import turtle
for i in range(3):
turtle.seth(i*120)
turtle.fd(200)
1.5
fo = open (“1111.txt”,'w')
txt = input("请输入类型序列:“)
fruits = txt. split(“ ”)
d={}
for fruit in fruits:
d [fruit] = d. get (fruit, 0) + 1
ls = list (d. items ())
ls. sort (key=lambda x:x[1], reverse=True) #按照数量排序
for k in Is
fo. write (“{}:{}\n".format(k[0],k[1])
fo. close()
1.6.1
...
fo = open("PY301-1.txt","w")
f = open("小女孩.txt","r")
txt = f.read()
d = {}
exclude=', 。 ! ?、 () 【】 《》 = : +-* —— “”...'
#txt1 = txt1.replace('\n', '')
for word in txt:
if word in exclude:
continue
else:
d[word] = d.get(word,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)
fo.write("{}:{}".format(ls[0][0],ls[0][1]))
f.close()
fo.close()
1.6.2
o = open("PY301-2.txt","w")
f = open('小女孩.txt','r')
txt1 = f.read()
d = {}
for word in txt1:
d[word] = d.get(word,0)+1
del d['\n']
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True)
for i in range(10):
fo.write("{}".format(ls[i][0]))
fo.close()
f.close()
1.6.3
fo=open('小女孩.txt','r')
f=open('小女孩-频次排序.txt','w')
txt=fo.read()
d = {}
for word in txt:
d[word]=d.get(word,0)+1
del d['\n']
del d[' ']
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序
print(ls)
for i in range(len(d)):
ls[i]='{}:{}'.format(ls[i][0],ls[i][1])
f.write(','.join(ls))
f.close()
fo.close()
2
1.1
import random
brandlist = ['三星','苹果','vivo','OPPO','魅族']
random.seed(0)
name = brandlist[random.randint(0,4)]
print(name)
1.2
import jieba
s = input("请输入一个字符串")
n = len(s)
m = len(jieba.lcut(s))
print("中文字符数为{},中文词语数为{}。".format(n, m))
1.3
# 请在...处使用一行或多行代码替换
#
# 注意:请不要修改其他已给出代码
n = eval(input("请输入数量:"))
if n == 1:
cost=150
elif n>=2 and n<=3:
cost=int(n*150*0.9)
elif n>=4 and n<=9:
cost=int(n*150*0.8)
elif n>=10:
cost=int(n*150*0.7)
print("总额为:",cost)
2.1
# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码
from turtle import *
for i in range(5):
fd(200)
right(144)
2.2
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
# 请在______处使用一行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准
fo = open("PY202.txt","w")
data = input("请输入一组人员的姓名、性别、年龄:") # 姓名 年龄 性别
women_num = 0
age_amount = 0
person_num = 0
while data:
name, sex, age = data.split(' ')
if sex == '女':
women_num += 1
age_amount += int(age)
person_num += 1
data = input("请输入一组人员的姓名、性别、年龄:")
average_age = age_amount / person_num
fo.write("平均年龄是{:.1f} 女性人数是{}".format(average_age, women_num))
fo.close()
3.1
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
# 请在______处使用一行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准
fi = open("PY301-vacations.csv","r")
ls = []
for line in fi:
ls.append(line.strip("\n").split(","))
s = input("请输入节假日名称:")
for line in ls:
if s == line[1]:
print("{}的假期位于{}-{}之间".format(line[1],line[2],line[3]))
fi.close()
3.2
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准
fi = open("PY301-vacations.csv","r")
ls = []
for line in fi:
ls.append(line.strip("\n").split(","))
s = input("请输入节假日序号:").split(" ")
while True:
for i in s:
for line in ls:
if i == line[0]:
print("{}({})假期是{}月{}日至{}月{}日之间".format((line[1]),(line[0]),line[2][:-2],line[2][-2:],line[3][:-2],line[3][-2:]))
s = input("请输入节假日序号:").split(" ")
fi.close()
3.3
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准
fi = open("PY301-vacations.csv","r")
ls = []
for line in fi:
ls.append(line.strip("\n").split(","))
s = input("请输入节假日序号:").split(" ")
while True:
for i in s:
flag = False
for line in ls:
if i == line[0]:
print("{}({})假期是{}月{}日至{}月{}日之间".format((line[1]),(line[0]),line[2][:-2],line[2][-2:],line[3][:-2],line[3][-2:]))
flag = True
if flag == False:
print("输入节假日编号有误!")
s = input("请输入节假日序号:").split(" ")
fi.close()
3
1.1
n = eval(input("请输入正整数:"))
print("{0:@>30,}".format(n))
1.2
a = [11,3,8]
b = eval(input()) #例如:[4,5,2]
s = 0
for i in range(3):
s += a[i]*b[i]
print(s)
1.3
import random
random.seed(255)
for i in range(5):
print(random.randint(1,50), end=" ")
2.1
import turtle
turtle.pensize(2)
d = 72
for i in range(5):
turtle.seth(d)
d += 72
turtle.fd(200)
2.2
fo = open("PY202.txt","w")
names=input("请输入各个同学行业名称,行业名称之间用空格间隔(回车结束输入):")
names = names.split(' ')
d = {}
for i in names:
d[i]=d.get(i,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 按照数量排序
for k in ls:
fo.write("{}:{}\n".format(k[0],k[1]))
fo.close()
3.1
fi = open("论语.txt", 'r')
fo = open("论语-原文.txt", 'w')
flag =False
for line in fi:
if "【"in line:
flag=False
if "【原文】"in line:
flag=True
continue
if flag==True:
print(line)
fo.write(line.lstrip())
fi.close()
fo.close()
fi = open(“论语.txt”, ‘r’)
fo = open(“论语-原文.txt”, ‘w’)
f=fi.readlines()
for line in range(len(f)):
if f[line].strip(’\n’).strip(’ ‘)==’【原文】’:
line+=2
fo.write(f[line].lstrip(’\n’).strip(’ '))
fi.close()
fo.close()
3.2
fi = open("论语-原文.txt", 'r')
fo = open("论语-提纯原文.txt", 'w')
for line in fi:
for i in range(1,30):
line=line.replace('({})'.format(i),'')
fo.write(line)
fi.close()
fo.close()
3
1.1
ntxt = input("请输入4个数字(空格分隔):")
nls = ntxt.split(' ')
x0 = eval(nls[0])
y0 = eval(nls[1])
x1 = eval(nls[2])
y1 = eval(nls[3])
r = pow(pow(x1-x0, 2) + pow(y1-y0, 2), 0.5)
print("{:.1f}".format(r))
1.2
import jieba
txt = input("请输入一段中文文本:")
ls = jieba.lcut(txt)
print("{:.1f}".format(len(txt)/len(ls)))
1.3
n = eval(input("请输入一个数字:"))
print("{0:+^11}".format(chr(n-1)+chr(n)+chr(n+1)))
2.1
import turtle
d = 0
for i in range(4):
turtle.fd(200)
d = d+90
turtle.seth(d)
2.2
fo = open("PY202.txt","w")
data = input("请输入课程名及对应的成绩:") # 课程名 考分
d = {}
while data:
course,score=data.split(' ')
d[course]=eval(score)
data = input("请输入课程名及对应的成绩:")
ls=sorted(list(d.values()))
max,min=ls[-1],ls[0]
t=sum(ls)/len(ls)
max_c,min_c=",",","
for item in d.items():
if item[1]==max:
max_c=item[0]
if item[1]==min:
min_c=item[0]
fo.write("最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}".format(max_c,max,min_c,min,t))
fo.close()
3.1
f=open('sensor.txt','r')
fo=open('earpa001.txt','w')
fi=f.readlines()
for line in fi:
if 'earpa001' in line:
line=line.strip('\n').split(',')
fo.write('{},{},{},{}\n'.format(line[0],line[1],line[2],line[3]))
f.close()
fo.close()
3.2
fo=open('earpa001_count.txt','w')
f=open('earpa001.txt','r')
fi=f.readlines()
d = {}
for line in fi:
line=line.strip('\n').strip(' ').split(',')
d[line[-2]+'-'+line[-1]]=d.get(line[-2]+'-'+line[-1],0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 该语句用于排序
for p in ls:
fo.write('{},{}\n'.format(p[0],p[1]))
f.close()
fo.close()
4
1.1
s = eval(input("请输入一个数字:"))
ls = [0]
for i in range(65,91):
ls.append(chr(i))
print("输出大写字母:{}".format(ls[s]))
1.2
s = input("请输入一个十进制数:")
num = eval(s)
print("转换成二进制数是:{:b}".format(num))
1.3
import jieba
s = input("请输入一个中文字符串,包含标点符号:")
m =jieba.lcut(s)
print("中文词语数:{}".format(len(m)))
2.1
import turtle
turtle.color("red","yellow")
turtle.begin_fill()
for i in range(36):
turtle.fd(200)
turtle.left(170)
turtle.end_fill()
2.2
fo = open("PY202.txt","w")
def prime(num):
t= True
for j in range(2,num):
if num%j==0:
t=False
break
return t
ls = [51,33,54,56,67,88,431,111,141,72,45,2,78,13,15,5,69]
lis = []
for i in ls:
if prime(i) == False:
lis.append(i)
fo.write(">>>{},列表长度为{}".format(lis,len(lis)))
fo.close()
3.1
f=open('arrogant.txt','r')
fo=open('PY301-1.txt','w')
d = {}
fi=f.read()
for line in fi:
d[line]=d.get(line,0)+1
del d['\n']
ls =list(d.items())
for j in ls:
fo.write("{}:{}\n".format(j[0],j[1]))
f.close()
fo.close()
3.2
fo=open('arrogant-sort.txt','w')
f=open('arrogant.txt','r')
d = {}
fi=f.read()
for line in fi:
d[line]=d.get(line,0)+1
del d['\n']
ls =list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)
for i in range(10):
fo.write("{}:{}\n".format(ls[i][0],ls[i][1]))
f.close()
fo.close()
5
1.1
line = "After fresh rain in mountains bare "
print(line.title())
1.2
a = float(input("输入三角形第一条直角边长:"))
b = float(input("输入三角形第二条直角边长:"))
area=0.5*(a*b)
print("直角三角形的面积为:{:.1f}".format(area))
1.3
num = eval(input("输入数字:"))
print("对应的二进制数:{0:b}\n八进制数:{0:0}\n十六进制数:{0:X}".format(num))
2.1
import turtle
turtle.color('black','yellow')
turtle.begin_fill()
turtle.circle(50)
turtle.end_fill()
2.2
def judge_year(year):
if (year%4 == 0 and year%100 != 0) or year % 400 == 0 :
print(year,"年是闰年")
else:
print(year,"年不是闰年")
year = eval(input("请输入年份:"))
judge_year(year)
3
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
# 请在______处使用一行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准
fi = open("score.csv","r")
fo = open("avg-score.txt","w")
ls = []
x = []
sum = 0
for row in fi:
ls.append(row.strip("\n").split(","))
for line in ls[1:]:
for i in line[1:]:
sum = int(i) +sum
avg = sum/3
x.append(avg)
sum = 0
fo.write("语文:{:.2f}\n数学:{:.2f}\n英语:{:.2f}\n物理:{:.2f}\n科学:{:.2f}".format(x[0],x[1],x[2],x[3],x[4]))
fi.close()
fo.close()
fi = open(“score.csv”,“r”)
fo = open(“avg-score.txt”,“w”)
ls = []
x = []
sum = 0
for line in fi:
ls.append(line.strip(’\n’).split(’,’))
del ls[0]
for i in range(len(ls)):
t=(eval(ls[i][1])+eval(ls[i][2])+eval(ls[i][3]))/3
x.append(t)
for j in range(len(x)):
fo.write(’{}:{:.2f}\n’.format(ls[j][0],x[j]))#中文冒号
fi.close()
fo.close()
6
1.1
lis = [2,8,3,6,5,3,8]
new_lis = list(set(lis))
print(new_lis)
1.2
fruit = input('输入水果:')
lis = ['苹果','哈密瓜','橘子','猕猴桃','杨梅','西瓜']
if fruit in lis:
print(fruit+'在列表lis中')
else:
print(fruit+'不在列表lis中')
1.3
def str_change(str) :
return str[::-1]
str = input("输入字符串:")
print(str_change(str))
2.1
import turtle
turtle.color('black','yellow')
turtle.begin_fill()
for i in range(5):
turtle.fd(200)
turtle.right(144)
turtle.end_fill()
2.2
lower = int(input('输入区间最小值:'))
upper = int(input('输入区间最大值:'))
for num in range(lower+1,upper):
if num > 1:
for i in range(2,num):
if (num%i)==0:
break
else:
print(num)
lower = int(input(‘输入区间最小值:’))
upper = int(input(‘输入区间最大值:’))
for num in range(lower+1,upper):
if num > 1:
flag=True
for i in range(2,num):
if num%i0:
flag=False
break
if flagTrue:
print(num)
3.1
fo = open("PY301-1.txt","w")
class Horse():
def __init__(self, category, gender, age):
self.category = category
self.gender = gender
self.age = age
self.speed = 0
def get_descriptive(self):
self.info = "一匹" + self.category + str(self.age) + "岁的" + self.gender + "马"
def write_speed(self, new_speed):
self.speed = new_speed
addr = "在草原上奔跑的速度为"
fo.write(self.info + "," + addr + str(self.speed) + "km/h.")
horse = Horse("阿拉伯","公",12)
horse.get_descriptive()
horse.write_speed(50)
fo.close()
3.2
fo = open("PY301-2.txt","w")
class Horse():
def __init__(self, category, gender, age):
self.category=category
self.gender=gender
self.age=age
self.speed=0
def get_descriptive(self):
self.info = "一匹" + self.category + str(self.age) + "岁的" + self.gender + "马"
def write_speed(self, new_speed):
self.speed=new_speed
addr = "在草原上奔跑的速度为"
fo.write(self.info + "," + addr + str(self.speed) + "km/h。")
class Camel(Horse):
def __init__(self, category, gender, age):
super().__init__(category, gender, age)
def write_speed(self,new_speed):
self.speed=new_speed
addr = "在沙漠上奔跑的速度为"
fo.write(self.info.replace("马","骆驼") + "," + addr + str(self.speed) + "km/h。")
camel=Camel('双峰驼','母','20')
camel.get_descriptive()
camel.write_speed(40)
fo.close()
7
1.1
animals = ['cow', 'duck', 'cat', 'dog']
animals.reverse()
print(animals)
1.2
word = " 窗前明月光,疑是地上霜。 "
print(word.strip())
#默认是空格
1.3
count=0
while count < 50:
count+=1
if count % 2 == 0:
continue
print(count,end=",")
2.1
import turtle
for i in range(4):
turtle.seth(90*(i+1))
turtle.circle(50,90)
turtle.seth(-90+90*i)
turtle.circle(50,90)
turtle.hideturtle()
2.2
import math
try:
a = eval(input('请输入底数:'))
b = eval(input('请输入真数:'))
c = math.log(b,a)
except ValueError:
if a<=0 and b>0:
print('底数不能小于等于0')
elif b<=0 and a>0:
print('真数不能小于等于0')
elif a<=0 and b<=0:
print('真数和底数都不能小于等于0')
except ZeroDivisionError:
print('底数不能为1')
except NameError:
print('输入必须为实数')
else:
print(c)
3
intxt = input("请输入明文:")
for p in intxt:
if "a" <= p <= "z":
print(chr(ord("a")+(ord(p)-ord("a")+3)%26),end="")
elif "A" <= p <= "Z":
print(chr(ord("A")+(ord(p)-ord("A")+3)%26),end="")
else:
print(p,end="")
8
1.1
while True:
s = input("请输入信息:")
if s=="y" or s=="Y":
break
1.2
import calendar
year = int(input("请输入年份:"))
table = calendar.calendar(year)
print(table)
1.3
s = input("请输入绕口令:")
print(s.replace("兵","将"))
2.1
from turtle import *
def curvemove():
for i in range(200):
right(1)
forward(1)
setup(600,600,400,400)
hideturtle()
pencolor('black')
fillcolor("red")
pensize(2)
begin_fill()
left(140)
forward(111.65)
curvemove()
left(120)
curvemove()
forward(111.65)
end_fill()
penup()
goto(-27, 85)
pendown()
done()
2.2
fo = open("PY202.txt","w")
for i in range(1,10):
for j in range(1,i+1):
fo.write("{}*{}={} ".format(j,i,i*j))
fo.write("\n")
fo.close()
3.1
fi = open("关山月.txt","r")
fo=open("关山月-诗歌.txt","w")
f=fi.read()
fo.write(f.replace("。","。\n"))
fi.close()
fo.close()
fi = open(“关山月.txt”,“r”)
fo = open(“关山月-诗歌.txt”,“w”)
txt = fi.read()
ls = txt.split("。")
fo.write("。\n".join(ls))
fi.close()
fo.close()
3.2
fi = open("关山月-诗歌.txt","r")
fo = open("关山月-反转.txt","w")
txt = fi.readlines()
txt.reverse()
for row in txt:
fo.write(row)
fi.close()
fo.close()
fi = open(“关山月-诗歌.txt”,“r”)
fo = open(“关山月-反转.txt”,“w”)
f=fi.readlines()
f.reverse()
fo.writelines(f)
fi.close()
fo.close()
9
1.1
data = eval(input("请输入一组数据,以逗号分隔:"))
print(max(data))
1.2
在这里插入代码片
1.3
import time
t = time.localtime()
print(time.strftime("%Y年%m月%d日%H时%M分%S秒",t))
2.1
for i in range(0,4):
print(' '*(3-i)+" *"*(i+1))
for i in range(0,4):
print(' '*(i+1)+" *"*(3-i))
for i in range(0,4):
for y in range(0,4-i):
print(" “,end=”")
print(’* ’ * i)
for i in range(0,4):
for x in range(0,i):
print(" “, end=”")
print(’* ’ * (4-i))
2.2
from turtle import *
pensize(5)
for i in range(6):
fd(100)
right(60)
color("red")
circle(60,steps=6)
3
import random
letter_list = ['a', 'b', 'c', 'd', 'e', 'f','g',
'h', 'i', 'j', 'k', 'l','m', 'n',
'o', 'p', 'q', 'r', 's', 't',
'u', 'v', 'w', 'x', 'y', 'z']
letter = letter_list[random.randint(0, 25)]
count = 0
while True:
letter_input = input('请输入26个小写英文字母中的任一个:')
count +=1
if letter_input not in letter_list:
print('请重新输入字母')
else:
if count > 5:
print('猜测超过5次,答题失败')
break
else:
if letter_input == letter:
print('恭喜你答对了,总共猜了{}次'.format(count))
break
elif letter_input > letter:
print('你输入的字母排在该字母之后')
elif letter_input < letter:
print('你输入的字母排在该字母之前')
else:
print('未知错误')
import random
letter_list = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’,‘g’,
‘h’, ‘i’, ‘j’, ‘k’, ‘l’,‘m’, ‘n’,
‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’,
‘u’, ‘v’, ‘w’, ‘x’, ‘y’, ‘z’]
letter = letter_list[random.randint(0, 25)]
count = 0
while True:
x=input(“输入猜测的字母:”)
if x not in letter_list:
print(“重新输入”)
if x in letter_list and x!=letter:
if x<letter:
print(“在答案之前”)
else:
print(“在答案之后”)
count+=1
if count>=5:
print(“答题失败”)
break
if x==letter:
print(“答题次数:”,count)
10
1.1
f=open("poem.txt","r")
result = []
for line in f.readlines():
line = line.strip()#重要
if len(line) != 0 and line[0] != "#":
result.append(line)
result.sort()
for line in result:
print(line)
f.close()
1.2
a = []
for i in range(8):
a.append([])
for j in range(8):
a[i].append(0)
for i in range(8):
a[i][0] = 1
a[i][i] = 1
for i in range(2,8):
for j in range(1,i):
a[i][j] = a[i-1][j]+a[i-1][j-1]
for i in range(8):
for j in range(i+1):
print("{:3d}".format(a[i][j]),end=" ")
print()
1.3
def proc(strings):
m = 0
lst = []
for i in range(len(strings)):
if len(strings[i]) > m:
m = len(strings[i])
for i in range(len(strings)):
if len(strings[i]) == m:
lst.append(strings[i])
return lst
strings = ['cad' ,'VB', 'Python', 'MATLAB', 'hello', 'world']
result = proc(strings)
print("the longest words are:")
for item in result:
print("{: >25}".format(item))
2.1
strings = {'cad', 'PE ', 'Window', 'FM', 'hello', 'world','flowers'}
n=0
for word in strings:
if word.islower():
n += 1
print(n)
2.2
def proc(stu_list):
d = {}
for item in stu_list:
r = item.split("_")
a, b = r[0], r[1].strip()
if a in d:
d[a] += [b]
else:
d[a] = [b]
lst = sorted(d.items(), key = lambda d:len(d[1]), reverse = True)
return lst
f = open("signup.txt","r")
stu_list = f.readlines()
result = proc(stu_list)
for item in result:
print(item[0], '->', item[1])
f.close()
def proc(stu_list):
d = {}
for line in stu_list:
classs,student=line.strip(" “).strip(”\n").split(’_’)
if classs in d:
d[classs]+=[student]
else:
d[classs]=[student]
lst = sorted(d.items(), key = lambda d:len(d[1]), reverse = True)
return lst
f = open(“signup.txt”,“r”)
stu_list = f.readlines()
result=proc(stu_list)
for item in result:
print(item[0], ‘->’, item[1])
f.close()
3
d={"lili":80,"xiaoqiang":75,"yunyuan":89,"yuanyuan":90,"wanghao":85}
lst = sorted(d.items(), key = lambda x:x[1], reverse = True)
for i in range(3):
print(lst[i][0] ,lst[i][1])
score = {“lili”:80,“xiaoqiang”:75,“yunyun”:89,“yuanyuan”:90,“wanghao”:85}
ls = list(score.items())
ls.sort(key=lambda x:x[1],reverse=True)
for i in range(3):
print("{} {}".format(ls[i][0],ls[i][1]))
11
1.1
num = input().split(',')
for i in num:
print("{0: >10}".format(i),end=" ")
num = input().split(’,’)
for i in num:
print(’{:>10}’.format(i),end=’’)
1.2
scale = 0.0001 # 成就值增量
def calv(base, day):
val = base * pow(1+scale,day*11)
return val
print('5年后的成就值是{}'.format(int(calv(1, 5*365))))
year = 1
while calv(1, year*365) < 100:
year += 1
print('{}年后成就值是100'.format(year))
1.3
while True:
try:
a = eval(input('请输入一个正整数: '))
if a > 0 and type(a)==int:
print(a)
break
else:
print("请输入正整数")
except:
print("请输入正整数")
2.1
import turtle as t
ls = [69, 292, 33, 131, 61, 254]
X_len = 400
Y_len = 300
x0 = -200
y0 = -100
t.penup()
t.goto(x0, y0)
t.pendown()
t.fd(X_len)
t.fd(-X_len)
t.seth(90)
t.fd(Y_len)
t.pencolor('red')
t.pensize(5)
for i in range(len(ls)):
t.penup()
t.goto(x0 + (i+1)*50, -100)
t.seth(90)
t.pendown()
t.fd(ls[i])
t.done()
2.2
import random
random.seed(2)
pdict= {'Alice':['123456789'],
'Bob':['234567891'],
'Lily':['345678912'],
'Jane':['456789123']}
name = input('请输入一个人名:')
if name in pdict:
print(name,pdict[name][0],random.randint(1000,9999))
else:
print("对不起,您输入的用户信息不存在。")
3.1
#
# 以下代码仅供参考。
#
import jieba
def fenci(txt):
f=open(txt,'r')
datas=f.read()
f.close()
data=jieba.lcut(datas)
d = {}
for i in data:
if len(i)>=2:
d[i]=d.get(i,0)+1
lt = list(d.items())
lt.sort(key = lambda x:x[1],reverse = True)
return lt
def show(lt):
for i in lt[:9]:
print(i[0],':',i[1],end=',',sep='')
print(lt[9][0],':',lt[9][1],sep='')
l1=fenci('data2018.txt')
l2=fenci('data2019.txt')
print('2019:',end='',sep='')
show(l2)
print('2018:',end='',sep='')
show(l1)
3.2
#
# 以下代码仅供参考。
#
import jieba
def fenci(txt):
f=open(txt,'r')
datas=f.read()
f.close()
data=jieba.lcut(datas)
d = {}
for i in data:
if len(i)>=2:
d[i]=d.get(i,0)+1
lt = list(d.items())
lt.sort(key = lambda x:x[1],reverse = True)
ls = [x[0] for x in lt[:10]]
return ls
def show(lt):
print(','.join(lt))
l1=fenci('data2018.txt')
l2=fenci('data2019.txt')
l3=[]
for i in l1:
if i in l2:
l3.append(i)
for i in l3:
l1.remove(i)
l2.remove(i)
print('共有词语:',end='',sep='')
show(l3)
print('2019特有:',end='',sep='')
show(l2)
print('2018特有:',end='',sep='')
show(l1)
12
1.1
n = input('请输入一个正整数:')
for i in range(1,eval(n)+1):
print('{:0>2} {}'.format(i,'>'*i))0
1.2
ns = input("请输入一串数据:")
dnum,dchr = 0,0
for i in ns:
if i.isnumeric():
dnum += 1
elif i.isalpha():
dchr += 1
else:
pass
print('数字个数:{},字母个数:{}'.format(dnum,dchr))
1.3
std = [['张三',90,87,95],['李四',83,80,87],['王五',73,57,55]]
modl = "亲爱的{}, 你的考试成绩是: 英语{}, 数学{}, Python语言{}, 总成绩{}.特此通知."
for st in std:
cnt = 0
for i in range(1,4):
cnt += st[i]
print(modl.format(st[0],st[1],st[2],st[3],cnt))
2.1
import turtle as t
import random as r
color = ['red','orange','blue','green','purple']
r.seed(1)
for i in range(5):
rad = r.randint(20,50)
x0 = r.randint(-100,100)
y0 = r.randint(-100,100)
t.color(r.choice(color))
t.penup()
t.goto(x0,y0)
t.pendown()
t.circle(rad)
t.done()
2.2
#请在.....处填写一行或多行表达式或语句
#不得修改其他代码
img = [0.244, 0.832, 0.903, 0.145, 0.26, 0.452]
filter = [0.1,0.8,0.1]
res = []
for i in range(len(img)-2):
k=0
for j in range(len(filter)):
k+=filter[j]*img[j+i]
print("k={:.3f} ,filter[{}]={:.3f} ,img[{}{}{}]={:.3f}".format(k,j,filter[j],i,'+',j,img[i+j]))
res.append(k)
for r in res:
print('{:<10.3f}'.format(r),end = '')
3.1
fo=open('data.txt','r',encoding='utf-8')
f=open('clean.txt','w')
fi=fo.read()
dchar=',。、《。、;‘’、:“”!——()\n'
for i in fi:
if i not in dchar:
f.write(i)
fo.close()
f.close()
f=open(‘data.txt’,‘r’,encoding=‘utf-8’)
data=f.read()
f.close()
f=open(‘clean.txt’,‘w’)
s=’’
x=’,。?、‘’“”;:、 )\n——(!’
for i in data:
if i not in x:
s+=i
f.write(s)
f.close()
3.2
import jieba
f=open('clean.txt','r')
fi=f.read()
f.close()
d = {}
for i in jieba.lcut(fi):
if len(i)>=3:
d[i]=d.get(i,0)+1
lt = list(d.items())
lt.sort(key = lambda x:x[1],reverse = True)
for j in lt[:9]:
print(j[0]+':'+str(j[1]),end=',',sep='')
print(lt[9][0]+':'+str(lt[9][1]),sep='')
import jieba
f=open(‘clean.txt’,‘r’)
data=f.read()
l=jieba.lcut(data)
d = {}
for i in l:
if len(i)>=3:
d[i] = d.get(i,0)+1
lt = list(d.items())
lt.sort(key = lambda x:x[1],reverse = True)
for i in lt[:9]:
print(i[0],’:’,i[1],end=’,’,sep=’’)
print(lt[9][0],’:’,lt[9][1],sep=’’)
f.close()
13
1.1
s = input()
print("{:\"^30x}".format(eval(s)))
1.2
n = input()
s = "〇一二三四五六七八九"
for c in "0123456789":
n=n.replace(c,s[eval(c)])
print(n)
1.3
a, b, c = eval(input())
ls = []
for i in range(c):
ls.append(str(a*pow(b,i)))
print(",".join(ls))
a, b, c = [int(x) for x in input().split(’,’)]
ls = []
for i in range©:
ls.append(str(a * (b ** i)))
print(",".join(ls))
2.1
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))
2.2
s = input("请输入不带数字的文本:")
for j in range(9):
if str(j) in s:
print("重新输入:")
break
else:
break
print(len(s))
3.1
fi=open("data.txt",'r') # 此处可多行
lines=fi.readlines()
f = open("univ.txt", "w")
l=[]
for i in lines:
if 'alt=' in i :
a=i.find('alt=')
b=i.find('"',a+5)
l.append(i[a+5:b])
for j in l:
f.write(j+'\n')
f.close()
fi.close()
3.2
# 请在______处使用一行或多行代码替换
#
# 注意:其他已给出代码仅作为提示,可以修改
f = open("univ.txt", "r")
n = 0 # 包含大学的名称数量
m = 0 # 此处可多行
L = []
lines = f.readlines()
for line in lines:
line=line.strip('\n')
if "学院" in line and '大学'in line and '大学生' not in line:
L.append(line)
if line[-2:]=="学院":
m += 1
else:
n+=1
continue
if "学院" in line:
L.append(line)
m += 1
if "大学" in line and "大学生" not in line:
L.append(line)
n += 1
for i in L:
print(i)
f.close()
print("包含大学的名称数量是{}".format(n))
print("包含学院的名称数量是{}".format(m))
14
1.1
n = eval(input("请输入正整数:"))
print("{:=^14}".format(n))
1.2
a = [3,6,9]
b = eval(input()) #例如:[1,2,3]
j=1
for i in range(len(a)):
b.insert(j,a[i])
j+= 2
print(b)
1.3
import random
random.seed(100) # 此处可多行
s = 0 #
for i in range(3):
n = random.randint(1,9) #此处可多行
s += n**3
print(s)
2.1
import turtle
turtle.pensize(2)
d = 0
for i in range(1, 6):
turtle.fd(100)
d += 72
turtle.seth(d)
2.2.1
f = open("vote.txt")
names = f.readlines()
f.close()
n = 0
for name in names:
num = len(name.split())
if num==1:
n+=1
print("有效票{}张".format(n))
2.2.2
f = open("vote.txt")
names = f.readlines()
f.close()
D = {}
for name in names:
if len(name.split(' '))==1:
D[name[:-1]]=D.get(name[:-1],0) + 1
l = list(D.items())
l.sort(key=lambda s:s[1],reverse=True)
name = l[0][0]
score = l[0][1]
print("最具人气明星为:{},票数为:{}".format(name,score))
3.1
import jieba #此处可多行
f = open('out1.txt','w')
fi=open('data.txt','r')
lt=[]
lines=fi.read() #此处可用多行
for i in jieba.lcut(lines):
if len(i)>=3:
lt.append(i)
lt=list(set(lt))
for i in lt:
f.write(i+'\n')
f.close()
fi.close()
import jieba
f=open(‘data.txt’,‘r’)#此处可多行
data=f.read()
f.close()
f = open(‘out1.txt’,‘w’)
data1=jieba.lcut(data)
d=[]
for x in data1:
if len(x) >=3 and x not in d:
d+=[x]
f.write(x+’\n’)
f.close()
print(d)
3.2
import jieba # 此处可多行
f=open('data.txt','r')#此处可多行
data=f.read()
f.close()
fo = open('out2.txt','w')
d = {}
data=jieba.lcut(data)
for i in data:
if len(i) >=3:
d[i]=d.get(i,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序
for j in ls:
fo.write('{}:{}\n'.format(j[0],j[1]))
fo.close()
import jieba
f=open(‘data.txt’,‘r’)#此处可多行
data=f.read()
f.close()
f=open(‘out2.txt’,‘w’)
data1=jieba.lcut(data)
d = {}
for x in data1:
if len(x) >=3:
d[x]=d.get(x,0) + 1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序
for l in ls:
f.write(l[0]+’:’+str(l[1])+’\n’)
f.close()
15
1.1
s = input("请输入一个正整数: ")
cs=0
for c in s:
cs += eval(c)
print('{:=^25}'.format(cs))
1.2
s = input("请输入中文和字母的组合: ")
count=0
for c in s:
if '\u4e00' <= c <= '\u9fff':
count += 1
print(count)
1.3
s = input("请输入一组数据: ")
ls = s.split(',')
lt = []
for i in ls:
lt.append(eval(i))
print(max(lt))
2.1
import turtle as t
import random as r
r.seed(1)
t.pensize(2)
t.pencolor('red')
angles = 6
points= [[0,0],[50,40],[70,80],[-40,30]]
for i in range(4):
x0,y0 = points[i]
t.penup()
t.goto(x0,y0)
t.pendown()
length = r.randint(6, 16)
for j in range(angles):
t.fd(length)
t.backward(length)
t.right(360 / angles)
t.done()
2.2
f = open('data.txt','r')
f=f.readlines()
dic={}
for line in f:
l=line.strip().split(',')
if len(l)<3:
continue
dic[l[-1]]=dic.get(l[-1],[])+[l[1]]
unis=list(dic.items())
unis.sort(key=lambda x:len(x[1]),reverse=True)
for d in unis:
print('{:>4}: {:>4} : {}'.format(d[0],len(d[1]),' '.join(d[1])))
3
# 请在......处写多行代码
# 建议不修改其他代码
import jieba
f = "红楼梦.txt"
sf = "停用词.txt"
f1=open(f,encoding="utf-8")
datas=f1.read()
f1.close()
f2=open(sf,encoding="utf-8")
words=f2.read()
f2.close()
data=jieba.lcut(datas)
d={}
word=["一个","如今","一面","众人","说道","只见","不知",
"两个","起来","二人","今日","听见","不敢","不能",
"东西","只得","心中","回来","几个","原来","进来",
"出去","一时","银子","起身","答应","回去"]
for i in data:
if len(i)<2 or i in words or i in word:
continue
if i in ["凤姐","凤姐儿","凤丫头"]:
i="凤姐"
elif i in ["宝玉","二爷","宝二爷"]:
i="宝玉"
elif i in ["黛玉","颦儿","林妹妹","黛玉道"]:
i="黛玉"
elif i in ["宝钗","宝丫头"]:
i="宝钗"
elif i in ["贾母","老祖宗"]:
i="贾母"
elif i in ["袭人","袭人道"]:
i="袭人"
elif i in ["贾政","贾政道"]:
i="贾政"
elif i in ["贾琏","琏二爷"]:
i="贾琏"
d[i]=d.get(i,0)+1
l=list(d.items())
l.sort(key=lambda x:(x[1],x[0]), reverse=True)
f=open("result.csv",'w')
for i in l:
if i[1]<40:
break
f.write(i[0]+','+str(i[1])+'\n')
f.close()
16
1.1
s = input("请输入一个小数: ")
s = s[::-1]
cs=0
for c in s:
if c == '.':
break
cs += eval(c)
print('{:*>10}'.format(cs))
1.2
import time
t = input("请输入一个浮点数时间信息: ")
s = time.ctime(eval(t))
ls = s.split()
print(ls[3][0:2])
import time
t = input("请输入一个浮点数时间信息: ")
s = time.ctime(eval(t))
ls = s.split()
print(ls[3].split(’:’)[0])
1.3
import random
s = input("请输入随机种子: ")
ls = []
for i in range(26):
ls.append(chr(ord('a')+i))
for i in range(10):
ls.append(chr(ord('0')+i))
random.seed(eval(s))
print(len(ls))
for i in range(10):
for j in range(8):
print(ls[random.randint(0,35)],end='')
print()
2.1
import turtle as t
import random as r
r.seed(1)
t.pensize(2)
for i in range(3):
length = r.randint(20,80)
x0 = r.randint(-100, 100)
y0 = r.randint(-100, 100)
t.penup()
t.goto(x0,y0)
t.pendown()
for j in range(4):
t.fd(length)
t.seth(90*(j+1))
t.done()
2.2
sumtime = 0
percls = []
ts = {}
with open('out.txt', 'r') as f:
for i in f:
i=i.strip().split(',')
ts[i[0]]=eval(i[2])
sumtime+=eval(i[1])
print('the total execute time is ', sumtime)
tns = list(ts.items())
tns.sort(key=lambda x: x[1], reverse=True)
for i in range(3):
print('the top {} percentage time is {}, spent in "{}" operation'.format(i, tns[i][1],tns[i][0]))
3.1
f = open("八十天环游地球.txt")
fo=open("八十天环游地球-章节.txt",'w')
for i in f:#默认时相当于readlines()
line=i.strip().split()#默认时相当于去掉空格和回车符
if line[0][0]=="第" and "章" in line[0]:
print(i)
fo.write(i)
fo.close()
f.close()
3.2
#请在.....处填写多行表达式或语句
#可以修改其他代码
import jieba
f = open("八十天环游地球.txt")
datas=f.readlines()
l=[]
for i in range(len(datas)):
line=datas[i].split(' ')
if datas[i][0]=="第" and "章" in line[0]:
l.append(i)
for i in range(len(l)):
if i !=len(l)-1:
data=''.join(datas[l[i]:l[i+1]])
else:
data=''.join(datas[l[i]:])
s=data.split()[0]
words=jieba.lcut(data)
d={}
for y in words:
if len(y)<2:
continue
d[y]=d.get(y,0)+1
lis=list(d.items())
lis.sort(key=lambda x:x[1],reverse=True)
print(s,lis[0][0],lis[0][1])
f.close()
11
1.1
s=input()
print("{:=>25,}".format(eval(s)))
1.2
s=input()
print(s[::-1])
print(len(s))
1.3
a, b, c = [int(i) for i in input().split(',')]
ls = []
for i in range(c):
ls.append(a+(i*b))
print(ls)
2.1
import turtle
turtle.pensize(2)
d=0
for i in range(1, 13):
turtle.fd(40)
d += 30
turtle.seth(d)
2.2
ls = [111, 222, 333, 444, 555, 666, 777, 888, 999]
lt = [999, 777, 555, 333, 111, 888, 666, 444, 222]
s = 0
for i in range(len(ls)):
s += (ls[i]*lt[i])
print(s)
ls = [111, 222, 333, 444, 555, 666, 777, 888, 999]
lt = [999, 777, 555, 333, 111, 888, 666, 444, 222]
s = 0
for i in ls:
for j in lt:
s+=i*j
print(s)
3.1
f=open('score.txt','r')
fo=open('candidate0.txt','w')
lines=f.readlines()
L=[] #L中的元素是学生原始成绩和总成绩
for line in lines:#此处可多行
sum=0
line=line.strip().split(' ')
for i in line[2:12]:
sum+=eval(i)
line.append(sum)
L.append(line)
L.sort(key=lambda x:x[-1],reverse=True) #按学生总成绩从大到小排序
for i in L[0:10]:
for j in range(len(i)-1):
fo.write(i[j]+' ')
fo.write('\n')
f.close()
fo.close()
L=[]
fo = open(“score.txt”, “r”)
fi = open(“candidate0.txt”, “w”)
lines = fo.readlines()
for line in lines:
line = line.strip()
student = line.split(’ ‘)
sum = 0
for i in range(1,11):
sum += int(student[-i])
student.append(str(sum))
L.append(student)
L.sort(key=lambda x:x[-1],reverse=True)
for i in range(10):
fi.write(’ '.join(L[i][:-1]) + ‘\n’)
fo.close()
fi.close()
3.2
f = open("candidate0.txt", "r")
fo = open("candidate.txt", "w")
lines=f.readlines()
L=[] #L中的元素是学生原始成绩和总成绩
for line in lines:#此处可多行
line=line.strip().split(' ')
for i in line[2:12]:
if eval(i)< 60:
break
else:
L.append(line)
for i in L:
fo.write(' '.join(i[0:2])+'\n')
f.close()
fo.close()
fo = open(“candidate0.txt”, “r”)
fi = open(“candidate.txt”, “w”)
L = [] # 存储候选人
lines = fo.readlines()
for line in lines:
line = line.strip()
student = line.split(’ ‘)
for i in student[-10:]:
if int(i) < 60:
break
else:
L.append(student[:2])
for i in L:
fi.write(’ '.join(i) + ‘\n’)
fo.close()
fi.close()
22
1.1
n = eval(input("请输入正整数:"))
print("{:*>15}".format(n))
1.2
a = [3,6,9]
b = eval(input()) #例如:[1,2,3]
c = []
for i in range(len(a)):
c.append(a[i]+b[i])
print(c)
1.3
import random
random.seed(0)
s = 0
for i in range(5):
n = random.randint(1,97) # 产生随机数
s = s+n**2
print(s)
2.1
import turtle
turtle.pensize(2)
d = 0
for i in range(1, 9):
turtle.fd(100)
d += 45
turtle.seth(d)
2.2
f=open(“name.txt”)
names=f.readlines()
f.close()
f=open(“vote.txt”)
votes=f.readlines()
f.close()
f=open(“vote1.txt”,“w”)
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
else:
f.write(vote)
f.close()
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))
3.1
import jieba
f = open('data.txt','r')
lines = f.readlines()
f.close()
f = open('out.txt','w')
for line in lines:
line=line.strip(' ') #删除每行首尾可能出现的空格
wordList = jieba.lcut(line) #用结巴分词,对每行内容进行分词
f.writelines('\n'.join(wordList)) #将分词结果存到文件out.txt中
f.close()
3.2
import jieba
f = open('out.txt','r') #以读的方式打开文件
words = f.readlines()
f.close()
D={}
for w in words: #词频统计
D[w[:-1]]=D.get(w[:-1],0) + 1
print("曹操出现次数为:{} ".format(D['曹操']))
33
1.1
ls = eval(input())
s = ""
for item in ls:
if type(item)== type("香山"):
s += item
print(s)
1.2
import random
random.seed(25)
n = random.randint(1,100)
for m in range(1,7):
x = eval(input("请输入猜测数字:"))
if x == n:
print("恭喜你,猜对了!")
break
elif x>n:
print("大了,再试试")
else:
print("小了,再试试")
if m==6:
print("谢谢!请休息后再猜")
1.3
def f(n):
s=0
if n%(2)!=0:
for i in range(1, n+1, 2):
s += 1/i
else:
for i in range(2, n+1, 2):
s += 1/i
return s
n = int(input())
print('{:.2f}'.format(f(n)))
def f(n):
s = 0
if n%2 == 1:
for i in range(1, n+1, 2):
s += 1/i
else:
for i in range(2, n+1, 2):
s += 1/i
return s
n = int(input())
print(’{:.2f}’.format(f(n)))
2.1
import turtle as t
color = ['red','green','blue']
rs = [10,30,60]
for i in range(3):
t.penup()
t.goto(0, -rs[i])
t. pendown()
t.pencolor(color[i])
t.circle(rs[i])
t.done()
2.2
import jieba
s = input("请输入一段中文文本,句子之间以逗号或句号分隔:")
slist = jieba.lcut(s)
m = 0
for i in slist:
if i in ",。":
continue
m += 1
print(i,end='/')
print("\n中文词语数是:{}\n".format(m))
ss = ''
for i in s:
if i in ',。':
print('{: ^20}'.format(ss))
ss = ''
continue
ss += i
import jieba
s = input(“请输入一段中文文本,句子之间以逗号或句号分隔:”)
ss=s.strip(’,’).split(’,’)
slist=jieba.lcut(ss[0]+ss[1])
print(’/’.join(slist))
m=0
for i in slist:
if i in “,。”:
continue
m+=1
print("\n中文词语数是:{}\n".format(m))
print(’{:20}\n{:20}’.format(ss[0],ss[1]))
3.1
fi = open('data.txt','r')
fo = open('studs.txt','w')
students = fi.readlines()
for i in students:
i = i.strip().split(':')
name = i[0]
score = i[1].split(',')[-1]
fo.write(name+':'+score+'\n')
fi.close()
fo.close()
3.2
fi = open('data.txt','r')
students = fi.readlines()
fi.close()
t=[]
for i in students:
i = i.strip().split(':')
name = i[0]
score = i[1].split(',')[-1]
t.append([name,score])
t.sort(key=lambda x:eval(x[1]),reverse=True)
print(t[0][0]+':'+t[0][1])
3.3
fi = open('data.txt','r')
students = fi.readlines()
fi.close()
t={}
for i in students:
i = i.strip().split(':')
classs = i[1].split(',')[-2]
score = i[1].split(',')[-1]
t[classs]=t.get(classs,[])+[score]
tt=list(t.items())
for i in tt:
summ=0
for j in i[1]:
summ+=eval(j)
print('{}:{:.2f}'.format(i[0],summ/len(i[1])))
fi = open(‘data.txt’,‘r’)
d = {}
students = fi.readlines()
for i in students:
i = i.strip().split(’:’)
clas,score = i[1].split(’,’)
d[clas] = d.get(clas,[])+[eval(score)]
for i in d:
avg_score = sum(d[i])/len(d[i])
print(’{}:{:.2f}’.format(i,avg_score))