Python - 创建交互式名言生成器



在这里,我们将创建一个 Python 脚本,从 API 获取名言,处理错误并根据用户提供的特定输入呈现文本名言。

安装

首先,我们必须安装 requests 模块

我们可以使用 pip轻松安装它。转到终端使用此代码:

pip install requests

解决方案说明

以下 Python 代码解释了如何从 API 读取随机名言并要求用户根据他们的情绪选择名言。

脚本分为两个主要函数和错误处理:

1. get_random_quote() 方法

使用此方法,应用程序向 Quotable API(现在为 https://api.quotable.io/random)发出 HTTP GET 请求。它处理执行请求时可能发生的错误以及可能干扰请求处理或接收不正确响应的网络问题,以检查是否存在任何错误,应捕获这些错误并提供其详细信息。

2. 错误处理

这是通过使用称为 try except 块的异常处理工具来管理 requests.exceptions 来完成的。尽管该函数有大量注释,但我故意将其放入 RequestException 中,以确保即使在网络错误的情况下,脚本也能保持稳定。

3. main()

它们接受用户的输入并根据用户给出的指令指导流程。它将询问用户他/她是快乐还是悲伤,然后程序将进入一个循环,用户可以在其中请求名言或程序终止。此循环旨在扫描用户的输入,并在需要时执行其他操作。用户交互:通过这种方式,用户可以键入“get”以继续查看每日另一条名言,或键入“exit”以结束脚本。这种交互性将持续到用户对系统感到满意为止,从而可以更好地了解系统。

创建交互式名言生成器的Python代码

import requests

def get_random_quote():
   url = "https://api.quotable.io/random"
   try:
      response = requests.get(url)
      response.raise_for_status()  # Raise an exception for HTTP errors
      quote_data = response.json()
      return f"{quote_data['content']} - {quote_data['author']}"
   except requests.exceptions.RequestException as e:
      return f"Error fetching quote: {e}"

def main():
   expression = input("Enter expression (happy/sad): ").strip().lower()
   if expression not in ['happy', 'sad']:
      print("Invalid expression. Please choose 'happy' or 'sad'.")
      return

   print(f"Quotes for {expression} mood:")
   while True:
      user_input = input("Type 'get' for a quote or 'exit' to stop: ").strip().lower()
      if user_input == 'get':
         print(get_random_quote())
      elif user_input == 'exit':
         print("Exiting the program.")
         break
      else:
         print("Invalid input. Please type 'get' or 'exit'.")

if __name__ == "__main__":
   main()

输出

Quote Generator

有两个表情:快乐和悲伤,这是悲伤表情的输出。

Quote Generator

这是快乐表情的输出。

代码概要

这段代码将显示两种表情:快乐和悲伤。选择意味着你必须输入“happy”或“sad”。输入“happy”后,它会显示你想要获取的内容或退出选项。如果你输入“get”,它会给你一个随机的名言,并显示作者姓名。之后,它会再次显示“get”或“exit”菜单。如果你输入“exit”,它将退出代码。

结论

从在线API调用数据并自动响应用户输入的能力,是当今编程环境中一项必不可少的素质。除了展示requests库的实际应用外,这段Python脚本还演示了错误处理和用户交互作为开发中一些最重要方面的问题。因此,通过采用这种方法,开发人员将能够创建引人入胜的应用程序,实时提供数据。

python_projects_from_basic_to_advanced.htm
广告