栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python课程|上机小任务2.4-字符练习

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python课程|上机小任务2.4-字符练习

基本要求:

●输入一串字符,计算总个数,并提取出其中的小写字母、大写字母、数字、其它字符,然后分别将它们以及它们的个数打印出来。

        例如,输入'ok? 123Yes', 则程序打印出(注:形式不局限于如下所示):

共 10 个字符      

   小写 4 个:  okes  

大写 1 个:  Y    

  数字 3 个:  123  

其它 2 个:  ?  

高级要求:

●将这串字符存成两个文本文件,其中第一个文件(文件名自取,扩展名为 txt),其文本内容即为上述显示的字符;另一个文件(文件名自取,扩展名为 txt),是将上述这串字符(按照 ASCII 码)转成无符号整型(uint8)数组,将该整型数组存成的显示内容相同的文本(即直接打开该文本,显示内容就为该整型数组);

●再对上述无符号整型数组求其最大值、最小值、均值,并打印。

import numpy as np


def Cal(user_input):


    def isnumer(s):
      return all(c in "0123456789" for c in s)


    int_Count = 0  # 用来记录列表中的数字个数
    i_count = []
    strs_Count = 0 # 记录大写字母个数
    ss_count = []
    strl_Count = 0 # 记录小写字母个数
    sl_count = []
    other_Count = 0 # 记录其他字符个数
    o_count = []
    a = user_input

    # 使用for循环遍历字符串,每次循环判断当前获取的元素的类型,并给对应计数器计数
    count = 0
    for i in a:
        if i.isupper():  # 判断i是不是大写字母
            strs_Count += 1
            ss_count.append(i)
        elif i.islower():  # 判断i是不是小写字母
            strl_Count += 1
            sl_count.append(i)
        elif isnumer(i):  # 判断i是否为数字
            i_count.append(i)
            int_Count += 1
        else:
            other_Count += 1
            o_count.append(i)
        count += 1
    print ("字符总个数为{},数字个数为{},分别是{},大写字母个数为{},分别是{},小写字"
           "个数为{},分别是{}, 其他个数为{}, 分别是{}" .format(count, int_Count, i_count, strs_Count, ss_count,  strl_Count, sl_count, other_Count, o_count))

    # 将文本内容存储为str.txt文件
    with open("str.txt", "w") as s:
        s.write(user_input)

    # 将这串字符转化成无符号整型(uint8)
    numlist = []
    for i in a:
        numlist.append(ord(i))


    # 将这串字符转化成无符号整型(uint8)存储到str_num.txt
    numlist_str = str(numlist)
    with open("str_num.txt", "w") as n:
        n.write(numlist_str)


    numlist_max = np.max(numlist)
    # print(numlist_max)
    numlist_min = np.min(numlist)
    numlist_mea = np.mean(numlist)

    print("无符号整型数组最大值{},最小值{},均值{}".format(numlist_max, numlist_min, numlist_mea))



if __name__ == "__main__":
    user_input = input("请输入一串字符:")
    Cal(user_input)

课程上机任务小练习

如有不足 多多指教

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/357412.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号