Homework Overview

API - Application Programming Interface

目标: 通过API获取真实数据

内容

  • 选择合适的API
  • 使用 requests 模块来对 API 发送请求、传递参数、接受返回的数据
  • 处理 API返回的数据,转换为 Python 中合适的数据结构

基础任务

  • 输入城市名,返回该城市最新的天气数据;
  • 输入指令,打印帮助文档(一般使用 h 或 help);
  • 输入指令,退出程序的交互(一般使用 quit 或 exit);
  • 在退出程序之前,打印查询过的所有城市

进阶任务

  1. 之前只在输入城市名时查询天气,现在来增加个定时查询天气的功能?
  2. 选一个国内 API 和国外 API 分别进行调用,了解不同的调用姿势。更进一步,如果你来设计 API ,你会怎么设计?
  3. 给程序增加温度单位转换功能?

Exploring API

  • API 是什么,解决什么问题?
  • API 一般接收什么输入,返回什么数据?
  • 互联网上有哪些类型的 API ?他们为什么要把 API 开放出来?

作业思路

Two API Choices:

  1. Open Weather API
  2. 心知天气
  • getting input from terminal
  • find city weather
    • API get weather
    • Error handle, 查无此城市 --> 重新查询
  • history, create logs to record each query
  • If sentence,
    • help
    • history
    • quit
    • city

问题

logs出错 UnboundLocalError: local variable 'logs' referenced before assignment

Solutions

在调用logs的函数内将其设为全局变量 global logs;

NOT RECOMMENDDED - NEED BETTER SOLUTION

Next Steps

  • 测试个中文API
  • 重复代码需要更好的方式处理
  • 显示更多的天气细节

Change Log

2017.1.29

results matching ""

    No results matching ""