自学python第十天:动手练一练

自学python第十天:动手练一练

习题1:

检查用户名按照下面的说明编写一个程序,模拟网站如何确保每个用户的用户名都独一无二。

创建一个至少包含 5 个用户名的列表,并将其命名为current_users。

再创建一个包含 5 个用户名的列表,将其命名为 new_users,并确保其中有一两个用户名也在列表 current_users 中。

遍历列表 new_users,检查其中的每个用户名是否已被使用。如果是,就打印一条消息,指出需要输入别的用户名;否则,打印一条消息,指出这个用户名未被使用。

确保比较时不区分大小写。换句话说,如果用户名 'John' 已被使用,应拒绝用户名 'JOHN'。(为此,需要创建列表current_users 的副本,其中包含当前所有用户名的全小写版本。)

代码:

# 创建当前用户名列表(包含大小写混合)

current_users=['Admin','administrator','user','Guest','admin123']

# 创建新用户名列表(包含部分已存在的用户名)

new_users=['admin','GUEST','Xiaoxiao','SHENMI','Moji']

# 创建当前用户名的全小写副本用于不区分大小写比较

new_users_lower=[users.lower() for users in current_users]

# 检查每个新用户名

print(new_users_lower)

print("\n"+"-"*40+"\n")

for users in new_users:

# 将当前检查的用户名转为小写进行比较

if users.lower() in new_users_lower:

print(f"此用户已存在{users}")

else:

print(f"此用户未被使用{users}")

结果:

['admin', 'administrator', 'user', 'guest', 'admin123']

----------------------------------------

此用户已存在admin

此用户已存在GUEST

此用户未被使用Xiaoxiao

此用户未被使用SHENMI

此用户未被使用Moji

代码解释:

new_users_lower=[users.lower() for users in current_users]

释义:列表推导式(list comprehension)来创建一个新的列表`current_users_lower`

它的作用是将`current_users`列表中的每个用户名转换为小写形式,并存储在新的列表中

具体步骤:

1. 遍历`current_users`列表中的每个元素(每个用户名)。

2. 对每个用户名调用`.lower()`方法,将其转换为小写。

3. 将所有转换后的小写用户名组成一个新的列表。

传统循环方式:

current_users_lower = [ ] # 创建空列表

for user in current_users: # 遍历每个用户名

lower_user = user.lower() # 转换为小写


current_users_lower.append(lower_user) # 添加到新列表

相关文章

Deepseek分析:普通人三个月自学python能成爬出大神吗?

“零基础三个月速成爬虫大神!"--这种标题在网上一抓一大把,看得人热血沸腾。但作为一个被反爬机制虐哭、又靠爬虫转行的过来人,我必须说句实话:三个月从小白到“实战大神”是伪命题,但达到能接单、做...

30天学会Python编程:22. Python机器学习简介

22.1 机器学习概述22.1.1 机器学习分类22.1.2 典型应用场景学习类型应用案例常用算法分类垃圾邮件识别决策树/SVM回归房价预测线性回归聚类客户分群K-Means降维数据可视化PCA22....

我电子信息专业出身,给孩子换3家机构后,学Python编程真实感受

最近和几个宝妈聊天,话题绕来绕去总离不开“编程班”。有人说“现在不学编程,孩子未来要被时代淘汰”,有人抱怨“花了几万块,孩子学了半年连个小程序都写不出来”,也有人像我一样,换了3家机构才找到合适的。当...

30天学会Python编程:20. Python Web开发简介

20.1 Web基础概念20.1.1 HTTP协议20.1.2 请求/响应周期客户端发送HTTP请求服务器解析请求应用处理业务逻辑生成HTTP响应返回给客户端20.2 WSGI规范20.2.1 WSG...

2025年Python爬虫学习路线:从零到精通的项目驱动实践

在数据驱动的2025年,Python爬虫技术已成为获取网络数据的利器。无论是抓取电商价格、分析社交媒体趋势,还是挖掘新闻资讯,爬虫都能帮助我们高效获取信息。对于初学者而言,项目驱动的学习方式不仅能快速...

绝了!北大600集Python教程四大阶段,学完直接赢麻了

北大出手,Python 学习困局秒破!宝子们,还在为 Python 学习愁秃头?北大600集王炸视频教程来救场啦!这可不是一般的网课,是北大精心打造的编程学习 “秘籍”,一共分为四大阶段,从青铜到王者...