11作 文件和异常捕获

  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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,773评论 19 139
  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 4,547评论 0 1
  • 总结 一.文件操作 1.基本过程:打开文件 - 操作 - 关闭文件 2.open(路径,打开方式,encoding...
    greencap阅读 2,622评论 0 1
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,162评论 0 13
  • 感谢自己在最后一次录屏的时候,前后用了2个小时完成,没有敷衍。这是18年,自己录制的第一个演讲视频。 其实,这一次...
    土匪刘小姐阅读 2,885评论 0 3