AI学习笔记——Python的几个练习题

简介: 上一篇文章中提到了学习编程练习的重要性,今天就通过几个练习题,来巩固一下Python中几个重要的技能。将字典中大于2的值过滤掉。#Filter out values of equal or greater than 2#Note that for Python 2 you will have to use iteritemsd = {"a": 1, "b": 2, "c": 3}读取输入的一句话中的单词数。
img_1d3956f40c10103593a66dfe3388727b.png

上一篇文章中提到了学习编程练习的重要性,今天就通过几个练习题,来巩固一下Python中几个重要的技能。

  1. 将字典中大于2的值过滤掉。
#Filter out values of equal or greater than 2
#Note that for Python 2 you will have to use iteritems
d = {"a": 1, "b": 2, "c": 3}
  1. 读取输入的一句话中的单词数。

  2. a,b 中的对应数字想加并输出结果。

#Print out in each line the sum of homologous items from the two sequences

a = [1, 2, 3]
b = (4, 5, 6)
  1. 发现下面代码中的错误。
#Please fix the script so that it returns the user submited first name for the first %s
#and the second name for the second %s

firstname = input("Enter first name: ")
secondname = input("Enter second name: ")
print("Your first name is %s and your second name is %s" % firstname, secondname)
  1. 打印出第三个“employee”的“LastName”,并添加一个“Albert Bert”的"employee"
d = {"employees":[{"firstName": "John", "lastName": "Doe"},
                {"firstName": "Anna", "lastName": "Smith"},
                {"firstName": "Peter", "lastName": "Jones"}],
"owners":[{"firstName": "Jack", "lastName": "Petter"},
          {"firstName": "Jessy", "lastName": "Petter"}]}
  1. 打印a中的index 和 item 输出格式如下
    Item 1 has index 0
    Item 2 has index 1
    Item 3 has index 2
a = [1, 2, 3]
  1. 在字母数字和符号中选6个字符,随机生成6位的密码。
  2. 要求用户输入用户名和密码,用户名不能与数据库中(database["Mercury", "Venus","Earth","Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto"])重复,密码必须大于5位,并且包含数字和大写字母。

以上题目节选自udemy上的课程


答案如下:
1.将字典中大于2的值过滤掉

d = {"a": 1, "b": 2, "c": 3}
d = dict((key,value) for key, value in d.items() if value<3)

这个题目有几个重要的点:(1). 遍历字典格式的数据需要,d.items().
(2). 这种重构的语句在Python中非常常见。同样的我们也可以输出一个小于3的list:a = list(key for key, value in d.items() if value<3)

  1. 读取输入的一句话中的单词数。
s = input('Please enter: ')
s_list = s.split(' ')
len(s_list)

这个题目几个重点:(1). 处理String中的几个非常常见的方法,如.split(), .strip() 等等。(2). len() size() type() 等Python常见的的方法。

  1. a,b 中的对应数字想加并输出结果
a = [1, 2, 3]
b = (4, 5, 6)
print(list(i+j for i,j in zip(a,b)))

zip的使用,非常重要.

  1. 正确的答案如下
firstname = input("Enter first name: ")
secondname = input("Enter second name: ")
print("Your first name is %s and your second name is %s" % (firstname, secondname))

在Python中有多个格式输出的时候需要用元组(加括号)的形式

  1. 打印出第三个“employee”的“LastName”,并添加一个“Albert Bert”的"employee"
d = {"employees":[{"firstName": "John", "lastName": "Doe"},
                {"firstName": "Anna", "lastName": "Smith"},
                {"firstName": "Peter", "lastName": "Jones"}],
"owners":[{"firstName": "Jack", "lastName": "Petter"},
          {"firstName": "Jessy", "lastName": "Petter"}]}

print(d["employees"][2]["firstName"])
d["employees"].append({"firstName": "Albert", "lastName": "Bert"})

这道题的关键是找出d的结构,这是一个字典嵌套list再嵌套字典的结构。

  1. 打印a中的index 和 item 输出格式如下
    Item 1 has index 0
    Item 2 has index 1
    Item 3 has index 2
a = [1, 2, 3]
for index, item in enumerate(a):
  print("Item s% has index s%\n"%(item, index))

枚举enumerate 的应用,非常重要更多例子见(这里)[http://book.pythontips.com/en/latest/enumerate.html]

  1. 在字母数字和符号中选6个字符,随机生成6位的密码
import ramdon

characters = "abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()?"
chosen = ramdon.sample("characters",6)
password = "".join(chosen)

这个题目有两个知识点,(1). ramdon,这个Python自带的重要库,已经random.sample()的使用方法。(2). string.joint()这个方法。

  1. 要求用户输入用户名和密码,用户名不能与数据库中(database["Mercury", "Venus","Earth","Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto"])重复,密码必须大于5位,并且包含数字和大写字母。
database = ["Mercury", "Venus","Earth","Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto"]
while True:
    user_name = input("Please enter your user name: ")
    if user_name in database:
        print("The user name is exits, please try again!")
    else:
        break

while True:
    error_msg = []
    psw = input("Please enter your password: ")
    if len(psw)<6:
        error_msg.append( "Password must over 5 characters.")
    if not any(i.isdigit() for i in psw):
        error_msg.append("Password must contain at lease one number")
    if not any(i.isupper() for i in psw):
        error_msg.append("Password must contain at least one uppercase letter")
    if len(error_msg) > 0:
        for i in error_msg:
              print(i)
    else:
     break

这道题有这么几个知识点: (1). while 循环语句的使用。(2). if .... in .... 的使用。(3). i.isdigit() 和 i.isupper() 方法的使用。(4). any()的使用。


相关文章
AI学习笔记之——强化学习(Reinforcement Learning, RL)
AI学习笔记之——如何理解机器学习(Machine Learning)
人工智能学习笔记之——人工智能基本概念和词汇
人工智能学习笔记二 —— 定义问题

文章首发steemit.com 为了方便墙内阅读,搬运至此,欢迎留言或者访问我的Steemit主页

目录
相关文章
|
21天前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
242 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
3月前
|
人工智能 数据安全/隐私保护 Python
小红书图文生成器,小红书AI图文生成工具,python版本软件
Pillow库自动生成符合平台尺寸要求的配图7;3)利用Playwright实现自动化发布流程6。
|
3月前
|
编解码 数据安全/隐私保护 Python
抖音批量发布视频工具,自动上传视频作品笔记,python发布软件
这个抖音批量发布工具包含三个主要模块:主上传程序、配置文件和视频预处理工具。主程序
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
python编写AI生常用匡架及使用指令集
本文介绍Python中常用AI框架,包括TensorFlow、PyTorch、Scikit-learn、Hugging Face、spaCy、OpenCV及XGBoost等,涵盖安装指令与基础代码示例,适用于机器学习、深度学习、自然语言处理与计算机视觉等领域,助力快速入门与应用开发。(238字)
149 7
|
5月前
|
人工智能 自然语言处理 数据可视化
中国版“Manus”开源?AiPy:用Python重构AI生产力的通用智能体
AiPy是LLM大模型+Python程序编写+Python程序运行+程序可以控制的一切。
|
23天前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
261 7
|
2月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
517 1
|
3月前
|
数据采集 人工智能 API
推荐一款Python开源的AI自动化工具:Browser Use
Browser Use 是一款基于 Python 的开源 AI 自动化工具,融合大型语言模型与浏览器自动化技术,支持网页导航、数据抓取、智能决策等操作,适用于测试、爬虫、信息提取等多种场景。
672 4
推荐一款Python开源的AI自动化工具:Browser Use
|
3月前
|
人工智能 测试技术 编译器
从 Python 演进探寻 AI 与云对编程语言的推动
Python 自 2008 年发布 3.0 版本以来,经历了持续演进与革新。十六年间,从 Python 3.0 到即将发布的 3.14,语言设计、性能优化、类库生态及虚拟机技术等方面均有显著提升。字符串处理、异步编程、类型系统等核心功能不断现代化,Faster CPython 和 JIT 编译技术推动运行效率飞跃。同时,AI、云计算等新兴技术成为其发展的重要驱动力。本文全面回顾了 Python 的演进历程,并展望未来发展方向。
132 2
|
5月前
|
人工智能 API 开发者
用Qwen3+MCPs实现AI自动发布小红书笔记!支持图文和视频
魔搭自动发布小红书MCP,是魔搭开发者小伙伴实现的小红书笔记自动发布器,可以通过这个MCP自动完成小红书标题、内容和图片的发布。
1950 41

推荐镜像

更多