Python小技巧:判断输入是否为汉字/英文/数字

简介: Python小技巧:判断输入是否为汉字/英文/数字


1. 判断输入是否为汉字

定义函数is_chinese,输入为字符串,该函数通过遍历字符串中的每个字符:

  • 如果字符的Unicode编码不在汉字的范围内,说明输入不全是汉字,函数返回False
  • 如果遍历完所有字符都在汉字的范围内,说明输入全是汉字,函数返回True
def is_chinese(input_string):
    for char in input_string:
        if not ('\u4e00' <= char <= '\u9fff'):
            return False
    return True

e.g.

input1 = "中国"
input2 = "Hello, 世界"
input3 = "1234"
print(is_chinese(input1))  # True
print(is_chinese(input2))  # False
print(is_chinese(input3))  # False

输出

True

False

False

2. 判读是否为英文

方法一:

定义函数is_english,输入为字符串,该函数通过遍历字符串中的每个字符:

  • 如果字符不在英文的范围内,说明输入不全是英文,函数返回False
  • 如果遍历完所有字符都在英文的范围内,说明输入全是英文,函数返回True
def is_english(word):
    for char in word:
        if not ('a' <= char <= 'z' or 'A' <= char <= 'Z'):
            return False
    return True

e.g.

input1 = "中国"
input2 = "HelloWord"
input3 = "1234"
print(is_english(input1))  # False
print(is_english(input2))  # True
print(is_english(input3))  # False

输出

False

True

False

方法二:

定义函数is_english_regex,输入为字符串,该函数通过使用正则表达式进行判断:

  • 如果字符不全是英文,函数返回False
  • 如果字符全是英文,函数返回True
import re
def is_english_regex(word):
    pattern = re.compile(r'^[a-zA-Z]+$')
    return bool(pattern.match(word))

3. 判断是否为数字

(1)判断输入字符串是否为数字

定义函数is_number,输入为字符串,通过尝试将其转换为浮点数:

  • 如果转换成功,说明输入是数字,函数返回True。
  • 如果转换失败,说明输入不是数字,函数返回False。
def is_number(input_string):
    try:
        float(input_string)
        return True
    except ValueError:
        return False

e.g.

input1 = "123"
input2 = "3.14"
input3 = "hello"
print(is_number(input1))  # True
print(is_number(input2))  # True
print(is_number(input3))  # False

输出

True

True

False

(2)判断输入字符串的每个字符是否都为数字

定义函数is_number,输入为字符串,通过直接调用isdigit方法,对其进行判断:

  • 如果每个字符都是数字,函数返回True。
  • 如果存在不是数字的字符,函数返回False。
def is_number(input_string):
    if input_string.isdigit():
        return True
    return False

e.g.

input1 = "123"
input2 = "3.14"
input3 = "hello"
print(is_number(input1))  # True
print(is_number(input2))  # True
print(is_number(input3))  # False

输出

True

False

False

相关文章
|
1月前
|
机器学习/深度学习 C++ Python
Python小技巧:蛇形方阵
Python小技巧:蛇形方阵
|
7月前
|
索引 Python
Python3,掌握这20个小技巧,小菜鸡瞬间变成老码农~
Python3,掌握这20个小技巧,小菜鸡瞬间变成老码农~
49 0
|
7月前
|
Python
python基础语法小技巧汇总
python基础语法小技巧汇总
62 0
python基础语法小技巧汇总
|
2天前
|
JSON 数据可视化 定位技术
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
8 0
|
1月前
|
程序员 数据处理 开发者
【Python小技巧】通过实例说明推导式,条件表达式和Lambda函数
【Python小技巧】通过实例说明推导式,条件表达式和Lambda函数
23 2
|
3月前
|
缓存 C语言 C++
9 个让你的 Python 代码更快的小技巧
9 个让你的 Python 代码更快的小技巧
|
9月前
|
编译器 C语言 Python
让你python代码更快的3个小技巧
Python 语言的优点可以列举出许多,语法简单易懂、模块丰富、应用广泛等等。但是世界上没有有完美的东西,python 一个明显缺点就是运行速度慢,至少跟 C 语言没法比。
|
10月前
|
存储 索引 Python