检测字符串长度的方法:len()

检测字符串是否含有字母的方法:str.isalpha()

检测字符串是否含有数字的方法:str.isnumeric()

检测字符串是否有大写字母:str.upper()

检测字符串是否含有小写字母:str.lower

更多is.xxx的方法,请参考:

https://docs.python.org/3/library/sdtypes.html#string - methods

代码案例:

def check_numbers_exist(password_str):
"""
判断字符串是否含有数字
"""
for c in password_str:
if c.isnumeric():
return True
return False
def check_letter_exit(password_str):
"""
判断字符串是否含有字母
"""
for c in password_str:
if c.isalpha():
return True
return False def main():
"""
主函数
:return:
"""
password = input("请输入您的密码:")
#密码强度
strength_password = 0
#规则1
if len(password) >= 8:
strength_password += 1
else:
print("密码长度至少是8位!")
#规则2
if check_numbers_exist(password):
strength_password += 1
else:
print("密码没有含有数字")
#规则3
if check_letter_exit(password):
strength_password += 1
else :
print("密码没有含有字母")
if strength_password == 3:
print("密码强度合格!")
else :
print("密码强度不合格!") if __name__ == '__main__':
main()
学习编写这个代码出现了一个小错误,控制台报错是:str' object is not callable

Traceback (most recent call last):
File "D:/Program Files (x86)/pycharm install/pycharm wenjianjia/Password/Password_V1.0.py", line 61, in <module>
main()
File "D:/Program Files (x86)/pycharm install/pycharm wenjianjia/Password/Password_V1.0.py", line 45, in main
if check_numbers_exist(password):
File "D:/Program Files (x86)/pycharm install/pycharm wenjianjia/Password/Password_V1.0.py", line 21, in check_numbers_exist
for c in password_str():
TypeError: 'str' object is not callable

原来是我之前在编写的时候粗心在for c in password 这个遍历里多了个括号

学习python 检测字符串的方法的更多相关文章

  1. 学习python的字符串的方法

    今天看了下学习视频,发现str也有许多方法,才发现昨天了解的关于字符串知识甚少,所以今天查看了python的源码,学习一些新的方法 以下是我把边对照着源码边翻译,边尝试实现方法 1.第一个字符有大写字 ...

  2. 零基础学习 Python 之字符串

    初识字符串 维基百科对于字符串的定义式:字符串是由零个或者多个字符组成的有限串行.你之前学会敲的第一行 print 代码里的 "Hello World",就是一个字符串.字符串的本 ...

  3. python反转字符串(简单方法)及简单的文件操作示例

    Python反转字符串的最简单方法是用切片: >>> a=' >>> print a[::-1] 654321 切片介绍:切片操作符中的第一个数(冒号之前)表示切片 ...

  4. 【Python学习笔记】字符串拼接方法(5种)总结

    字符串的 5 种拼接方法: “+”号 “,”号 直接连接 格式化 多行字符串拼接 第一种:“+”号 print("Hello"+"Python") 打印结果: ...

  5. Python中字符串的方法及注释

    先整理到这里:用的时候便于查询.相当于自己的资料库吧. capitalize()   把字符串的第一个字符改为大写 casefold()   把整个字符串的所有字符改为小写 center(width) ...

  6. 身为一个小白,看到一篇值得看的文章。讲述小白学习python的6个方法。

    01. Python怎么学?   Python虽然号称非常简单,功能强大!但是再简单,它也是一门编程语言,任何一个编程语言都会包含: 内功,心法和招式,内功心法就是指的算法,数据结构: 招式就是任何一 ...

  7. python 替换字符串的方法replace()、正则re.sub()

    一.replace()函数1用字符串本身的replace方法: a = 'hello word' b = a.replace('word','python') print b   1 2 3 二.re ...

  8. ES6学习笔记之字符串新增方法

    1.字符串的子串识别 传统上,Javascript 只有indexof 方法,用来确定一个字符串是否包含在另一个字符串中.如: //indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的 ...

  9. python之字符串及其方法---整理集

    字符串方法 1.capitalize方法:字符串首字母大写 举例: test="alex" v=test.capitalize() print(v) 返回结果: Alex 2.ca ...

随机推荐

  1. 芯灵思Sinlinx A64开发板 Linux内核等待队列poll ---阻塞与非阻塞

    开发平台 芯灵思Sinlinx A64 内存: 1GB 存储: 4GB 开发板详细参数 https://m.tb.cn/h.3wMaSKm 开发板交流群 641395230 阻塞:阻塞调用是指调用结果 ...

  2. Centos7快速部署CloudStack服务器

    OS:centos7 server:172.16.13.159 client:172.16.13.156 1.下载要用到的安装包 在client上: wget http://download.clou ...

  3. Ant将Jmeter的jtl文件转为html文件报“前言中不允许有内容”

    ant执行jmeter的脚本的时候提示“Fatal Error! 前言中不允许有内容” 解决办法: 在jmeter的bin目录中找到jmeter.properties: 将文件中#jmeter.sav ...

  4. Solr4.7.0连接MySQL

    1.把Mysql的Jar包  例如:mysql-connector-java-5.1.8-bin.jar  或其他版本 放到D:\apache-tomcat-7.0.57\webapps\solr\W ...

  5. C# 6.0:新的Dictionary Initializer

    初始化Dictionary不是什么新东西,你可以简单的通过Collection Initializer来初始化一个Dictionary,这是从C#3.0就有的特性.Collection Initial ...

  6. 二叉树遍历(flist)(二叉树,已知中序层序,求先序)

    问题 C: 二叉树遍历(flist) 时间限制: 1 Sec  内存限制: 128 MB提交: 76  解决: 53[提交][状态][讨论版][命题人:quanxing][Edit] [TestDat ...

  7. vim YouCompleteMe 遇到的问题及解决

    问题1: 补充,升级gcc,g++ 到4.7以上的版本才能安装成功 github 官网 github https://github.com/Valloric/YouCompleteMe#ubuntu- ...

  8. [转]C# 4.7.2 安装

    遇到提示 “无法建立到信任根颁发机构的证书链” 下载地址:https://files.cnblogs.com/files/z5337/NetFramework%E8%AF%81%E4%B9%A6.ra ...

  9. Unity Input,生命周期,Light,获取组件

    1.     递归方法遍历获取指定子物体 知识点:递归的使用:transform.childCount.GetChild(index) 2.  Input输入控制类,检测玩家输入 知识点: Input ...

  10. S2-052 RCE漏洞 初步分析

    PS:初步分析,只是分析了Struts2 REST插件的部分,本来菜的抠脚不敢发,但看到各大中心发的也没比我高到哪里去,索性发出来做个记事! 漏洞描述 2017年9月5日,Apache Struts发 ...