1. python练习题1-统计中文字符个数

文摘   教育   2024-03-16 15:51   云南  


【目录】


  • 1. 目标任务

  • 2. 知识回顾

    • 2.1 for循环代码示例

    • 2.2 ord( )函数

    • 2.3 `.format`字符串格式化

  • 3. 程序代码

  • 4. 安迪碎碎念


【正文】

1. 目标任务

【目标任务】

输入一任意字符串,统计其中中文字符个数。

【提示】

中文字符的Unicode编码范围是:19968-40869。

【输入】

输入一个字符串。

【输出】

中文字符个数。

【示例】

  • 输入:中国

  • 输出:2

  • 输入:安迪Python学习笔记

  • 输出:6

2. 知识回顾

2.1 for循环代码示例

# 新建一个字符串变量s
s = "中国"

# 新建一个变量count用于存放统计的中文字符个数
count = 0 

# for 循环遍历变量s
# 第1次循环时i="中"
# 第2次循环时i="国"
# 字符串有2个元素,循环2次
for i in s:
    print(i)

【终端输出】



2.2 ord( )函数

ord()函数是 Python 内置函数之一,作用是返回一个字符的 Unicode 数值。

【语法】

ord(c)

【参数】

c 是一个字符。

【代码示例】

# 新建一个变量char存储字符`A`
char = 'A'
# ord函数输出字符的 Unicode 码值
print(ord(char))

【终端输出】

65

输出结果表示字符字符A的 Unicode 码值为65

【代码示例】

# 新建一个变量char存储字符`中`
char = '中'
# ord函数输出字符的 Unicode 码值
print(ord(char))

【终端输出】

20013

输出结果表示字符字符的 Unicode 码值为20013

2.3 .format字符串格式化

format[ˈfɔːmæt]:格式。

【代码示例】

name = "安迪"
city = "云南"
school = "复旦大学"
print("大家好,我叫{},来自{},毕业于{}!".format( name, school,  city))

【终端输出】

大家好,我叫安迪,来自云南,毕业于复旦大学!

【编写思路】

  • 我们要输出的内容是:大家好,我叫安迪,来自云南,毕业于复旦大学!

  • 要格式化的内容用英文大括号{}替换:

  • 安迪替换为大括号{}

  • 云南替换为大括号{}

  • 复旦大学替换为大括号{}

  • 格式化模板为:"大家好,我叫{},来自{},毕业于{}!"

【添加语法关键字】


  1. 输入一个英文小圆点.

    1. format关键字

    1. 英文圆括号( )

    1. 括号中添加要格式化的变量(name, city, school)

    相关知识可点击如下链接:

    51.Python的.format字符串格式化

    3. 程序代码

    【代码示例】

    # 新建一个字符串变量s
    s = "中国"

    # 新建一个变量count用于存放统计的中文字符个数
    count = 0 #

    # for 循环遍历变量s
    # 第1次循环时i="中"
    # 第2次循环时i="国"
    # 字符串有2个元素,循环2次
    for i in s:
        # if条件判断语句判断字符的Unicode编码是否在中文字符范围内
        # ord(i)返回的是i的 Unicode 码值
        # 如果i的 Unicode 小于等于40869且大于等于19968,则变量count值加1
        # 如果i的 Unicode 不满足上述条件,则不执行if语句下面的代码
        if 19968 <= ord(i) <= 40869
            # 则变量count值加1
            # count += 1等同与 count = count+1
            count += 1
    # 输出最终的结果
    print("该字符串含中文字符个数:{}。".format(count))

    【终端输出】

    该字符串含中文字符个数:2。

    【代码示例】

    将"中国"替换成"安迪Python学习笔记",检测代码。

    # 新建一个字符串变量s
    s = "安迪Python学习笔记"

    # 新建一个变量count用于存放统计的中文字符个数
    count = 0 #

    # for 循环遍历变量s
    # 第1次循环时i="中"
    # 第2次循环时i="国"
    # 字符串有2个元素,循环2次
    for i in s:
        # if条件判断语句
        # ord(i)返回的是i的 Unicode 码值
        # 如果i的 Unicode 小于等于40869且大于等于19968,则变量count值加1
        # 如果i的 Unicode 不满足上述条件,则不执行if语句下面的代码
        if 19968 <= ord(i) <= 40869# 判断字符的Unicode编码是否在中文字符范围内
            # 则变量count值加1
            # count += 1等同与 count = count+1
            count += 1
    # 输出最终的结果
    print("该字符串含中文字符个数:{}。".format(count))

    【终端输出】

    该字符串含中文字符个数:6。

    【最终代码】

    s = input() #变量s用于存放输入的任意字符串
    count = 0 #变量count用于存放统计的中文字符个数
    for i in s:
        # 判断字符的Unicode编码是否在中文字符范围内
        if 19968 <= ord(i) <= 40869
            count += 1
    print("该字符串含中文字符个数:{}。".format(count))

    【终端输出】

    该字符串含中文字符个数:3。

    4. 安迪碎碎念

    初学者在运用input函数中经常出错。

    建议初学者在在涉及到有终端输入时先用一个已知的字符串代替。

    当其它代码没有问题时,再将已知的字符串替换成未知的input函数。


    安迪python学习笔记
    python学习笔记,适合初学者。
     最新文章