美文网首页
11作 文件和异常捕获

11作 文件和异常捕获

作者: 大黄蜂人工智能 | 来源:发表于2018-09-04 02:44 被阅读0次
    1. 提取data.json中的数据,将每条数据中的name、text、love和comment信息。并且保存到另外一个json文件中 :
      首先把name,text,love,comment存在对象中,再把对象存在数组中,然后先读出来再写进去,例如[{"name":"huangfeng","text":"10","love":"yuwen","comment":"59"},{"name":"huangtian","text":"20","love":"fanyi","commnet":"100"}]:
    import json
    with open('./data.json','r',encoding='utf-8')as f:
        content = json.load(f)
        print(content)
    
    
    with open ('./json1.json','w',encoding='utf-8')as ff:
        json.dump(content,ff) 
    

    结果就是新建了一个json文件,再把读出来的字典再写进新json文件中。

    1. 统计data.json中comment数量超过1000的个数。
    import json
    with open('./data.json','r',encoding='utf-8')as f:
        count = json.load(f)         #读出素组中的对象,把对象转化为字典
    
        count1 = 0
        for x in count:
              if int(x['comment']) >= 1000:#通过key值取出comment对应的值,然后判断是否大于1000,。
                count1  += 1   #求个数的和
        print(count1)      输出
    
    1. 将data.json文件中所有点赞数(love)对应的值超出1000的用k来表示,例如1000修改为1k, 1345修改为1.3k
    import json
    with open('./data.json','r',encoding='utf-8')as f:#先读
        count = json.load(f)
        a = []
        for x in count:   #便列
            if x['love'] >= 1000:  #判断
                b = x['love']/1000   
                x['love']= '%.1fk'%b    #根据key值value
                print(x)
                a.append(x)      #将字典加入列表中
                print(a)
    with open('./data.json','w',encoding='utf-8')as ff: #最后写进data.json中
        json.dump(a,ff)
    
    1. 写猜数字游戏,如果输入有误,提示重新输入,直达输入正确为止。比如:输入数字的时候没有按要求输入,提示重新输入
    import random# 引入随机数
    a = random.randint(1,10)  #1到10
    while True:   #死循环
            try:
                b = int(input('请猜1~10之间的整数:'))  #输出的数字
                break
            except(ValueError):   #输入错误后重新输入
                print('请重新输入')
    
    if a == b: #判断语句
        print('恭喜你猜对了,你猜的数字是%d'%a) #结束
     
    
    1. 写学生管理系统的添加学生功能(数据需要本地化),要求除了保存学生的基本信息以外还要保存学生的学号,但是学号需要自动生成,生成原则:
      添加第一个学生对应的学号是:py001
      第二次添加的学生的学号是:py002
      ...
      如果前面的学生因为各种原因被移除了,那后面添加学生的时候原则不变,就是比如上次已经添加到py012,那么前面不管有没有删除情况,再次添加学生的学号是py013
    import json
    print('=================')
    print('学生管理系统')
    print('添加学生')
    print('==================')
    a= 0
    b=[]
    c={}
    while True:
        name = input('请输入姓名:')
        age = int(input('请输入年龄:'))
        tel = input('请输入电话')
        a +=1
        xuehao = 'py00%d'%a
        d={'name':name,'age':age,'tel':tel,'xuehao':xuehao}
        b.append(d)
        print(b)
        with open('./学生管理系统.json','w',encoding = 'utf-8')as f:
            count = json.dump(b,f)
    

    相关文章

      网友评论

          本文标题:11作 文件和异常捕获

          本文链接:https://www.haomeiwen.com/subject/jgiiwftx.html