1. 提取data.json中的数据,将每条数据中的name、text、love和comment信息。并且保存到另外一个json文件中
import json
with open('./data.json','r',encoding='utf-8') as fr:
content=json.load(fr)
content2={'name':[],'text':[],'love':[],'comment':[]}
for x in content['data'][:]:
content2['name'].append(x['name'])
content2['text'].append(x['text'])
content2['love'].append(x['love'])
content2['comment'].append(x['comment'])
with open('./data1.json','w',encoding='utf-8') as fw:
json.dump(content2,fw)
2. 统计data.json中comment数量超过1000的个数
with open('./data.json','r',encoding='utf-8') as fr:
content=json.load(fr)
count=0
for x in content['data'][:]:
if int(x['comment'])>1000:
count+=1
print(count)
3. 将data.json文件中所有点赞数(love)对应的值超出1000的用k来表示,例如1000修改为1k, 1345修改为1.3k
with open('./data.json','r',encoding='utf-8') as fr:
content=json.load(fr)
k=0
for x in content['data'][:]:
love_much =int(x['love'])
if love_much>1000:
if (love_much//10)%10>=5:
k=((love_much//100)+1)/10
else:
k = ((love_much // 100)) / 10
x['love']='%.1fk'%(k)
with open('./data3.json','w',encoding='utf-8') as fw:
json.dump(content,fw)
4. 写猜数字游戏,如果输入有误,提示重新输入,直达输入正确为止。比如:输入数字的时候没有按要求输入,提示重新输入
import random
number=random.randint(0,10)
while True:
try:
num=int(input('请输入0~10之间的数:'))
except:
print('输入错误,请重新输入')
if num>number:
print('太大了')
elif num<number:
print('太小了')
else:
print('恭喜你,猜对了')
break
5. 写学生管理系统的添加学生功能(数据需要本地化),要求除了保存学生的基本信息以外还要保存学生的学号,但是学号需要自动生成,生成原则:
- 添加第一个学生对应的学号是:py001
-
第二次添加的学生的学号是:py002
如果前面的学生因为各种原因被移除了,那后面添加学生的时候原则不变,就是比如上次已经添加到py012,那么前面不管有没有删除情况,再次添加学生的学号是py013
try:
with open('./add_stu.json', 'r', encoding='utf-8')as fr:
content = json.load(fr)
number=int(content[-1]['学号'][2:])
except:
with open('./add_stu.json', 'w', encoding='utf-8')as fw:
json.dump([],fw)
number=0
with open('./add_stu.json', 'r', encoding='utf-8')as fr:
content = json.load(fr)
while True:
option=int(input('1:添加学生,2:退出:'))
if option==1:
number+=1
stu_number='py%03d'%(number)
name=input('姓名:')
age=input('年龄:')
tel=input('电话:')
stu = {'学号': stu_number, '姓名': name, 'age': age, 'tel': tel}
content.append(stu)
with open('./add_stu.json', 'w', encoding='utf-8')as fw:
json.dump(content,fw)
if option == 2:
break