- 提取data.json中的数据,将每条数据中的name、text、love和comment信息保存到另外一个json文件中。
import json
list1 = []
with open('./data.json', 'r', encoding='utf-8') as f:
info = json.load(f)
for item in info['data']:
dict1 = {
'name':item['name'],
'text':item['text'],
'love':item['love'],
'comment':item['comment']
}
list1.append(dict1)
with open('./newdata.json', 'w', encoding='utf-8') as f:
json.dump(list1, f)
- 统计data.json中comment数量超过1000的个数。
import json
count = 0
with open('./data.json', 'r', encoding='utf-8') as f:
info = json.load(f)
for item in info['data']:
if int(item['comment']) > 1000:
count += 1
print("统计data.json中comment数量超过1000的个数为:", count)
3.将data.json文件中所有点赞数(love)对应的值超出1000的用k来表示,例如1000修改为1k, 1345修改为1.3k。
import json
with open('./data.json', 'r', encoding='utf-8') as f:
info = json.load(f)
for item in info['data']:
if int(item['love']) > 1000:
item['love'] = str(int(item['love'])/1000)+'k'
with open('./data.json', 'w', encoding='utf-8') as f:
json.dump(info, f)
- 写猜数字游戏,如果输入有误,提示重新输入,直达输入正确为止。比如:输入数字的时候没有按要求输入,提示重新输入。
import random
num = random.randint(1, 10)
count = 0
def guss_num():
try:
n = int(input('请输入数字:'))
global count
count += 1
if n == num:
print('恭喜你猜对了,共猜了%s次!'%(count))
return
elif n > num:
print('猜大了')
guss_num()
else:
print('猜小了')
guss_num()
except ValueError:
print('输入错误,请重新输入!')
guss_num()
guss_num()
- 写学生管理系统的添加学生功能(数据需要本地化),要求除了保存学生的基本信息以外还要保存学生的学号,但是学号需要自动生成,生成原则:
添加第一个学生对应的学号是:py001
第二次添加的学生的学号是:py002
如果前面的学生因为各种原因被移除了,那后面添加学生的时候原则不变,就是比如上次已经添加到py012,那么前面不管有没有删除情况,再次添加学生的学号是py013。
list1 = []
name = input('请输入名字:')
age = input('请输入年龄:')
try:
with open('./StudentInfo.json', 'r', encoding='utf8') as f:
info = json.load(f)
except:
with open('./StudentInfo.json', 'w', encoding='utf8') as f:
dict1 = {'school':'千峰', 'student_data':[]}
json.dump(dict1, f)
with open('./StudentInfo.json', 'r', encoding='utf8') as f:
info = json.load(f)
if not info['student_data']:
school_num = 'py001'
else:
for item in info['student_data']:
num = item['school_num'][2:]
list1.append(int(num))
num_max = max(list1) + 1
if num_max < 10:
school_num = 'py' + '00' + str(num_max)
elif num_max < 100:
school_num = 'py' + '0' + str(num)
else:
school_num = 'py' + str(num)
dict1 = {'name': name, 'age': age, 'school_num': school_num}
info['student_data'].append(dict1)
with open('./StudentInfo.json', 'w', encoding='utf8') as f:
json.dump(info, f)