2018-09-04 day11编程作业

  1. 提取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)
  1. 统计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)
  1. 将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)
  1. 写猜数字游戏,如果输入有误,提示重新输入,直达输入正确为止。
    比如:输入数字的时候没有按要求输入,提示重新输入
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
  1. 写学生管理系统的添加学生功能(数据需要本地化),要求除了保存学生的基本信息
    以外还要保存学生的学号,但是学号需要自动生成,生成原则:
    添加第一个学生对应的学号是: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

你可能感兴趣的:(2018-09-04 day11编程作业)