【Python】Python编程从入门到实践课后题5-10

最近在看Python,经典书目《Python编程从入门到实践》,1-12章先大致看了一遍,反过来复敲代码,到第一章79页的5-10卡了一下,记录一下。

原题:5-10 检查用户名:按下面的说明编写一个程序,模拟网站确保每位用户的用户名都独一无二的方式。
1.创建一个至少包含5 个用户名的列表,并将其命名为current_users
2.再创建一个包含5 个用户名的列表,将其命名为new_users,并确保其中有一两 个用户名也包含在列表current_users 中。
3.遍历列表new_users,对于其中的每个用户名,都检查它是否已被使用。如果是 这样,就打印一条消息,指出需要输入别的用户名;否则,打印一条消息,指 出这个用户名未被使用。
4.确保比较时不区分大小写,换句话说,如果用户名“John”已被使用,应拒绝用户名“JOHN”。

看79页几个条件很简单,一翻还有第80页一个条件,“确保比较时不区分大小写”,头大,这是第五章,前面学过哪些,变量,数据类型,列表,列表操作,for循环,if语句。想着用i<len,发现for不可行,虽然第七章while可以,但是这是第五章,既然这里有这题,说明前面知识是可以解决的。
1.判断在不在里面好说,for in就可以解决

for new_user in new_users

2.new_users的大小写好处理,均转换为小写
new_user.lower()
3.这个肯定要用循环目前学会的循环只有for,那只能用for循环

for current_user in current_users:

4.前面没学过把整个列表改为小写,但学过弹出和写入,那么就是pop和append,一开始想着将current_users弹到另一个空列表c_users完事,但发现弹出后for循环就异常,这里只能引入第三个列表,然后将current_users赋值给current_users2

current_users2 = current_users[:]
c_users = []
for current_user in current_users:
    c_users.append(current_users2.pop(0).lower())
    print(c_users)

完整代码:

current_users = ['Yyq','XYZ','msN','MHt','ADMIN','root']
new_users = ['yyq','test2','test1','test','admin','root']
# len = len(current_users)
current_users2 = current_users[:]
c_users = []
for current_user in current_users:
    c_users.append(current_users2.pop(0).lower())
    print(c_users)

for new_user in new_users:
    if new_user.lower() in c_users:
        print(new_user + " is in use , please input another.")
    else:
        print(new_user +" is not in use , you can create it.")

新手刚学,有问题请多指教。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

实施工程师木易

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值