- 提取data.json中的数据,将每条数据中的name、text、love和comment信息。并且保存到另外一个json文件中
import json
with open('./data.json','r',encoding='utf-8')as ff:
content=json.load(ff)
dict_1={"code": 200,"data":[]}
for i in range(len(content["data"])):
dict_2 = {}
for key in content["data"][i]:
if key=="name" or key=="text" or key=="love" or key=="comment":
dict_2[key]=(content["data"][i][key])
dict_1["data"].append(dict_2)
with open('./hw1.json','w',encoding='utf-8')as f:
json.dump(dict_1,f)
- 统计data.json中comment数量超过1000的个数
with open('./data.json','r',encoding='utf-8')as ff:
content = json.load(ff)
count=0
for i in range(len(content["data"])):
for key in content["data"][i]:
if key=="comment" and int(content["data"][i][key])>1000:
count+=1
print(count)
- 将data.json文件中所有点赞数(love)对应的值超出1000的用k来表示,
例如1000修改为1k, 1345修改为1.3k
with open('./data.json','r',encoding='utf-8')as ff:
content = json.load(ff)
for i in range(len(content["data"])):
for key in content["data"][i]:
if key=="love" and int(content["data"][i][key])>1000:
m=float(content["data"][i][key])/1000
content["data"][i][key]='%.1fk'%(m)
with open('./hw3.json','w',encoding='utf-8')as f:
json.dump(content,f)
- 写猜数字游戏,如果输入有误,提示重新输入,直达输入正确为止。
比如:输入数字的时候没有按要求输入,提示重新输入
import random
num1=random.randint in range(100)
while True:
while True:
try:
num2=int(input('请输入一个整数'))
break
except:
print('请重新输入')
if num2!=num1:
continue
else:
print(num2)
break
- 写学生管理系统的添加学生功能(数据需要本地化),要求除了保存学生的基本信息
以外还要保存学生的学号,但是学号需要自动生成,生成原则:
添加第一个学生对应的学号是:py001
第二次添加的学生的学号是:py002
...
如果前面的学生因为各种原因被移除了,那后面添加学生的时候原则不变,就是比如上次
已经添加到py012,那么前面不管有没有删除情况,再次添加学生的学号是py013
1. json文件:hw5.json
[{"stu_number": "py001", "name": "小飞飞", "Age": 21, "tel": 12345678909}]
2.py文件:the_5_day11.py
import json
while True:
with open('./hw5.json','r',encoding='utf-8') as ff:
content=json.load(ff)
str_1=content[-1]["stu_number"]
str_2=''
for str1 in str_1:
if '0'<=str1<='9':
str_2+=str1
number=int(str_2)
for item in content:
print(item)
print('共有%d名学生'%(len(content)))
number+=1
name=input('请输入姓名:')
Age=int(input('请输入年龄:'))
tel=int(input('请输入电话:'))
stu_number1='py'+str(number//100)+str(number%100//10)+str(number%10)
student_1={'stu_number':stu_number1,'name':name,'Age':Age,'tel':tel}
print('添加成功')
print(student_1)
content.append(student_1)
with open('./hw5.json','w',encoding='utf-8') as f:
json.dump(content,f)
count2=0
while True:
in_put=input('是否继续添加?1:是 2:否')
if in_put=='1':
count2+=1
break
elif in_put=='2':
break
else:
print('您输入的不正确,请重新输入')
continue
if count2==1:
continue
else:
break
第七次运行程序输出
{'stu_number': 'py001', 'name': '小飞飞, 'Age': 21, 'tel': 12345678909}
{'stu_number': 'py002', 'name': '小红红', 'Age': 23, 'tel': 12345678901}
{'stu_number': 'py003', 'name': '小天天', 'Age': 21, 'tel': 12345678902}
{'stu_number': 'py004', 'name': '小飞飞', 'Age': 24, 'tel': 12345678903}
{'stu_number': 'py005', 'name': '小熊熊', 'Age': 21, 'tel': 12345678904}
{'stu_number': 'py006', 'name': '小板凳', 'Age': 21, 'tel': 12345678905}
共有6名学生
请输入姓名:小毛毛
请输入年龄:21
请输入电话:12345678906
添加成功
{'stu_number': 'py007', 'name': '小毛毛', 'Age': 21, 'tel': 12345678906}
是否继续添加?1:是 2:否3
您输入的不正确,请重新输入
是否继续添加?1:是 2:否2
Process finished with exit code 0