如何用 Python 代码区分输入内容中的字母、数字和汉字?
python 判断输入内容中字母和数字的个数
在 python 中,编写一个程序来判断用户输入的内容中包含的字母和数字的个数。
原始代码:
q = 0w = 0v = input("请输入内容>>>")for item in v: if item.isdigit() == true: q += 1 if item in str.isalpha(): w += 1print("一共输入" + str(q) + "个数字和" + str(w) + "字母")
问题:
立即学习“Python免费学习笔记(深入)”;
上述代码存在一个问题:它将汉字也视为字母。因此,我们需要对代码进行修改,以便排除汉字。
解决方案:
修改后的代码如下:
q = 0w = 0v = input("请输入:")for item in v: if item.isalnum(): if item.isdecimal(): q += 1 elif item.isalpha(): if item > u'u4e00' and item < u'u9fa5': # 判断是否是汉字 pass else: w += 1print("有%d个数字,有%d个字母" % (q, w))
这段代码通过以下步骤排除汉字:
- 检查字符是否属于字母数字 (isalnum())。
- 如果是数字 (isdecimal()),则将其计为数字。
- 如果是字母 (isalpha()),则检查其 unicode 范围。
- 如果不在汉字 unicode 范围以内,则将其计为字母。