判断字符串的语种,如果一个字符串中只含有中文返回1,只含有英文返回2,含有中文和英文返回3

该代码定义了一个函数check_string_type,用于检查输入字符串是否包含中文和/或英文。通过遍历字符串并判断每个字符的Unicode编码范围来识别中文,使用encode().isalpha()检查英文。根据有无中文和英文,函数返回3(两者都有),1(只有中文)或2(只有英文)。示例展示了不同情况下的输出结果。
摘要由CSDN通过智能技术生成
def check_string_type(input_str):
    # 判断字符串中是否包含中文, \u4e00 和 \u9fff 是 Unicode 编码范围,它表示中文字符的范围。
    has_chinese = any('\u4e00' <= char <= '\u9fff' for char in input_str)

    # 判断字符串中是否包含英文
    has_english = any(char.encode().isalpha() for char in input_str)

    # 根据中文和英文的情况,返回相应的值
    if has_chinese and has_english:
        return 3   # 如果 has_chinese 和 has_english 都为 True,即同时有中文和英文,返回3
    elif has_chinese:
        return 1   # 如果只有 has_chinese 为 True,即只有中文,返回 1
    elif has_english:
        return 2   # 如果只有 has_english 为 True,即只有英文,返回 2

# 示例用法
string1 = "hello,world"
string2 = "你好世界!"
string3 = "hello 你好"

print(check_string_type(string1))  # 输出: 2
print(check_string_type(string2))  # 输出: 1
print(check_string_type(string3))  # 输出: 3
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值