Python练习题详解之字符串(小白友好)

Python练习题详解之字符串(小白友好)

你好!欢迎来到Python练习题详解系列。为了让小白(也就是我本人)更好的理解代码,打好编程基础,我决定仔细地解说一些练习题。欢迎观看!奥利给!

在开始练习题详解前,我们来看看字符串的诸多方法们

Python练习题详解之字符串(小白友好)

今天要详解的题目是一个密码题,我们平时设置一个新的密码的时候,程序总会提醒我们,你的安全系数是怎么怎么样的呀,那么,我们能不能用我们学到的知识来做一个这样的程序呢?

题目:密码大王

编写一个程序让用户输入密码,并返回对应的安全级别,要求如下:

低级密码要求:

1. 密码由单纯的数字或字母组成

2. 密码长度小于等于8位

中级密码要求:

1. 密码必须由数字、字母或特殊字符组成(仅限:[email protected]#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合

2. 密码长度不能低于8位

高级密码要求:

1. 密码必须由数字、字母及特殊字符组成(仅限:[email protected]#$%^&*()_=-/,.?<>;:[]{}|\)三种组合

2. 密码只能由大写字母开头

3. 密码长度不能低于16位

思路:

首先,我们捋一捋题目,发现这里面应该有三个判断的标准,1. 密码长度以及空格 2. 密码组合 3. 是否为首字母开头

那我们的脑袋里应该就大概有了框架,然后就往框架里填补细节

1.密码长度以及空格

长度应该第一时间就想到len()函数,空格应该就是.isspace 函数

2. 密码组合

密码由数字,英文字母,特殊符号组成,本来的思路是.isdigit 或者.isupper,但特殊符号没有类似的方法可以判断,为了代码的consistency,我们决定先定义字母,数字,特殊符号的字符串名字,然后用 for 循环,判断每一个字符是否在这三个字符串里面。

3. 是否为首字母开头

这里一开始想到的是.istitle(), 然后在test的时候我输入了QQai(qq爱是什么鬼哈哈哈哈哈),但是我发现我失败了,大拍脑袋,原来istitle()是判断每一个单词的首字母是不是大写,而首字母之后的必须为小写,所以连续出现两个大写就GG了。于是我想到另一个迂回战术,可以取出首字母再判断其是否为大写。这就万事大吉啦。

答案:

Python练习题详解之字符串(小白友好)