检测字符串长度的方法: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. 弄懂Kafka的消息流转过程

    原文地址:https://www.cnblogs.com/chanshuyi/p/quick_start_of_kafka.html 大家都知道 Kafka 是一个非常牛逼的消息队列框架,阿里的 Ro ...

  2. 为什么选择Go语言 GO语言都能做什么产品

    Go语言,又称Golang,是Google开发的一款静态强类型.编译型.并发型,并具有垃圾回收机制的编程语言,它的运行速度非常之快,同时还有如下特性:具有一流的标准库.无继承关系.支持多核:同时它还有 ...

  3. golang操作memcached 转自https://blog.csdn.net/weixin_37696997/article/details/78760397

    go使用memcached需要第三方的驱动库,这里有一个库是memcached作者亲自实现的,代码质量效率肯定会有保障 1:安装 go get github.com/bradfitz/gomemcac ...

  4. Sql case when 示例

    SELECT       单元编号,年,月,   项目编号='11111',   sum(case  when 项目编号= 'ZB010201' then [当月额] else 0 end ) 医疗收 ...

  5. 读取excel 文件到datatable

    上一篇文章介绍了将datatable 内容导出到excel 文件,这里介绍如何将一个excel 文件读取出来,并保持到datatable 中,实际这样的应用场景也是经常遇到的. 这里继续使用了Micr ...

  6. php如何和linux进行通讯

    FastCGI原理 FastCGI是一个运用于Http Server和动态脚本语言间通信的接口,多数流行的Http Server都支持FastCGI,包括Apache.Nginx和lighttpd等. ...

  7. [UE4]计算箭头方向:正切、SetRelativeRotation、RotationFromXVector、Get MotionController Thumbstick X

    正切 正弦函数 sinθ=y/r 余弦函数 cosθ=x/r 正切函数 tanθ=y/x 余切函数 cotθ=x/y 正割函数 secθ=r/x 余割函数 cscθ=r/y   已知y和x,求角度θ: ...

  8. centos上 小程序部署 nginx+https+ssL 提示错误:对应的服务器 TLS 为 TLS 1.0 ,小程序要求的 TLS 版本必须大于等于 1.2

    解决办法: 1.nginx版本必须是1.0.6以上 2.修改配置文件,修改server内的ssl_protocols内容,增加TLSv1.2 3.重启nginx. ./nginx -s reload ...

  9. jmeter接口测试-GET请求路径中包含特殊字符或中文导致Response400报错

    问题描述:接口测试中异常用例GET请求路径中包含特殊字符或中文,运行jmeter会报错,取样器中只能看到Response400,响应结果为空 解决思路: 对于通过BODY发送的中文内容可以用Jmete ...

  10. webapi xml序列化删除<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">标签

    在WebApiConfig.Register中加入config.Formatters.Remove(config.Formatters.XmlFormatter); 移除默认的xml序列化器