python-28-零基础自学python-json存数据、读数据,及程序合并

学习内容:《python编程:从入门到实践》第二版

知识点:

import json引入、

try-except-else

return

def函数、打开文件、

练习内容:

练习10-11:喜欢的数 编写一个程序,提示用户输入喜欢的数,并使用json.dump()将这个数存储到文件中。再编写一个程序,从文件中读取这个值,并打印如下所示的消息。I know your favorite number!It's _____.

练习10-12:记住喜欢的数 将练习10-11中的程序合二为一。如果存储了用户喜欢的数,就向用户显示它,否则提示用户输入喜欢的数并将其存储到文件中。运行这个程序两次,看看它能否像预期的那样工作。

我的代码&运行结果:

练习10-11:喜欢的数 编写一个程序,提示用户输入喜欢的数,并使用json.dump()将这个数存储到文件中。再编写一个程序,从文件中读取这个值,并打印如下所示的消息。I know your favorite number!It's _____.

import json
def save_number():
    number = input("Please enter your favorite number:")
    filename = 'number.json'
    with open(filename,'w') as file_object:
        json.dump(number,file_object)

def read_number():
    with open(filename,encoding='utf-8') as file_object:
        number = json.load(file_object)
        print(f"I know your favorite number!It's {number}.")

filename = 'number.json'
save_number()
read_number()

 e9557cfa44b948f79ede9bf84d1eaaa7.png

注意点:

练习10-12:记住喜欢的数 将练习10-11中的程序合二为一。如果存储了用户喜欢的数,就向用户显示它,否则提示用户输入喜欢的数并将其存储到文件中。运行这个程序两次,看看它能否像预期的那样工作。

import json
def new_number():#不需要加filename
    number = input("Please enter your favorite number:")
    filename = 'number.json'#这里忘记
    with open(filename,'w') as file_object:
        json.dump(number,file_object)
    return number#return也容易忘记

def saved_number():
    filename = 'number.json'  # 这里忘记
    try:
        with open(filename, encoding='utf-8') as file_object:
            number = json.load(file_object)
    except FileNotFoundError:
        return None#这里也要返回,none返回
    else:
        return number

def read_number():
    number = saved_number()
    if number:
        print(f"I know your favorite number!It's {number}.")
    else:
        number = new_number()
        print(f"We'll remember your number when you come back")

read_number()

 两次运行结果如下:

1a9b02435537461f8a223328a9165308.png

400c1c7a6c584ed2b1c68d294e2622e2.png

注意点:

把两个小程序合并在一起需要提前想好每一个操作与下一个操作之间的关联,每个操作下又有哪些

主程序是读取数据

默认是读取已保存数据saved_number,

 saved_number中

        try打开文件-的一系列过程

        except(不存在的偶然情况)→return None

        else(正常执行情况)→return number

遇到一次判断

if有→print

否则→new_number→print

new_number中:询问、输入、存储、返回值用于下一步

主要就是自己得明确调用读数函数(方法总)的大框架,

方法总的步骤为:先读旧数据(方法1),有则打印,没有就要存新数据(方法2),有无是一个判断

旧数据(方法1)步骤为:读取旧数据-打开文件夹-读取数据-返回数据值

新数据(方法2)步骤为:存新数据-用读取的方式新建文件夹-存数据-返回数据值

 

 

 

相关推荐

  1. Python基础教学(数据类型)

    2024-07-13 15:42:01       30 阅读
  2. 基础PYthon》有感

    2024-07-13 15:42:01       124 阅读
  3. Python Json数据解析

    2024-07-13 15:42:01       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 15:42:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 15:42:01       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 15:42:01       58 阅读
  4. Python语言-面向对象

    2024-07-13 15:42:01       69 阅读

热门阅读

  1. 开发指南048-前端模块版本

    2024-07-13 15:42:01       18 阅读
  2. AI工具网站

    2024-07-13 15:42:01       17 阅读
  3. 什么是ipc

    2024-07-13 15:42:01       22 阅读
  4. 红帽虚拟化REST API指导文档

    2024-07-13 15:42:01       22 阅读
  5. 层次分析法:matlab代码实现

    2024-07-13 15:42:01       20 阅读
  6. Tg机器人开发:实现自动化图片审核功能

    2024-07-13 15:42:01       18 阅读
  7. Mojo AI编程语言(三)数据结构:高效数据处理

    2024-07-13 15:42:01       22 阅读
  8. postgresql创建只读权限的用户

    2024-07-13 15:42:01       17 阅读
  9. Oracle数据文件扩容

    2024-07-13 15:42:01       22 阅读