- 提取data.json中的数据,将每条数据中的name、text、love和comment信息。并且保存到另外一个json文件中
filename='./files/data.json'
filename1='./files/jieguo.json'
import json
with open(filename,encoding='utf-8')as f:
content=json.load(f)
list1=content['data']
list2=[]
list3=[]
list4=[]
list5=[]
for x in list1:
list2.append(x['name'])
list3.append(x['text'])
list4.append(x['love'])
list5.append(x['comment'])
dict2={'name':list2}
dict3={'text':list3}
dict4={'love':list4}
dict5={'comment':list5}
list=[dict2,dict3,dict4,dict5]
with open(filename1,'w',encoding='utf-8')as f:
json.dump(list,f)
with open(filename1,encoding='utf-8')as f:
content=json.load(f)
print(content)
- 统计data.json中comment数量超过1000的个数
import json
filename='./files/data.json'
with open(filename,encoding='utf-8')as f:
content=json.load(f)
content1=content['data']
list=[]
for x in content1:
list.append(x['comment'])
print(len(list))
结果:
20
- 将data.json文件中所有点赞数(love)对应的值超出1000的用k来表示,例如1000修改为1k, 1345修改为1.3k
import json
filename='./files/data.json'
with open(filename,encoding='utf-8')as f:
content=json.load(f)
content1=content['data']
list = []
for x in content1:
list.append(x['love'])
for x in list:
if int(x)>1000:
y=str(int(x)/1000)+'k'
print(y)
结果:
1.043k
3.39k
1.732k
1.37k
1.197k
- 写猜数字游戏,如果输入有误,提示重新输入,直达输入正确为止。比如:输入数字的时候没有按要求输入,提示重新输入
from random import randint
def youxi():
count = 6
print('欢迎进入猜数字游戏!')
number = int(randint(1, 100))
while count>0:
print('你有%d次机会' % count)
num=input('请输入数字:')
try:
nu=int(num)
if nu>number:
print('大了')
elif nu<number:
print('小了')
elif nu==number:
print('恭喜你,猜对了!!')
break
count -= 1
except:
print('请老老实实地输入数字')
if count==0:
print('游戏结束!')
youxi()
结果:
欢迎进入猜数字游戏!
你有6次机会
请输入数字:50
大了
你有5次机会
请输入数字:25
小了
你有4次机会
请输入数字:34
小了
你有3次机会
请输入数字:44
大了
你有2次机会
请输入数字:39
小了
你有1次机会
请输入数字:40
小了
游戏结束!
- 写学生管理系统的添加学生功能(数据需要本地化),要求除了保存学生的基本信息以外还要保存学生的学号,但是学号需要自动生成,生成原则:
添加第一个学生对应的学号是:py001
第二次添加的学生的学号是:py002
...
如果前面的学生因为各种原因被移除了,那后面添加学生的时候原则不变,就是比如上次已经添加到py012,那么前面不管有没有删除情况,再次添加学生的学号是py013
filename='./files/my_student.json'
import json
def main_inter():
while True:
print('欢迎进入学生管理系统')
print('1.添加学生\n2.删除学生\n3.查看学生\n4.返回')
value=int(input('请选择:'))
try:
with open(filename,'r',encoding='utf-8')as f:
dict_all=json.load(f)
if value == 1:
stu_list=dict_all['stumessage']
stu = input_student()
studyid = creat_studentid()
stu['studyid'] = creat_studentid()
stu_list.append(stu)
with open(filename,'w',encoding='utf-8')as f:
json.dump(dict_all,f)
print('添加成功!')
if value==2:
stu_list=dict_all['stumessage']
name=input('输入你想删除的学生名字:')
stu=check_student(stu_list,name)
while not stu:
print('你想删除的学生不存在!')
stu_list.remove(stu)
with open(filename,'w',encoding='utf-8')as f:
json.dump(dict_all,f)
print('删除成功!')
if value==3:
stu_list=dict_all['stumessage']
for stu in stu_list:
print('name=%s,age=%s,tel=%s,stuid=%s' %
(stu['name'], stu['age'], stu['tel'], stu['studyid'])
)
if value==4:
print('结束程序!')
exit(0)
except FileNotFoundError:
with open(filename,'w',encoding='utf-8')as f1:
stu=input_student()
studyid=creat_studentid()
stu['studyid']=creat_studentid()
json.dump({'class_name':'python1806','stumessage':[stu,]},f1)
print('添加成功!')
def input_student():
name=input('姓名')
age=int(input('年龄'))
tel=int(input('电话'))
stu={'name':name,'age':age,'tel':tel}
return stu
def creat_studentid():
try:
with open('./count.json','r',encoding='utf-8')as f:
stuid=json.load(f)
print(stuid)
with open('./count.json','w',encoding='utf-8')as f1:
json.dump('py'+str(int(stuid[2:])+1).rjust(3,'0'),f1)
except FileNotFoundError:
with open('count.json','w',encoding='utf-8')as f2:
json.dump('py'+'001', f2)
def check_student(stu_list,name):
for x in stu_list:
if name==x['name']:
return x
return None
main_inter()
网友评论