鱼C论坛

 找回密码
 立即注册
查看: 1228|回复: 2

[已解决]今天写小甲鱼的作业又遇到了一道难题求助

[复制链接]
发表于 2020-9-9 21:10:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. 编写一个函数,分别统计出传入字符串参数(可能不只一个参数)的英文字母、空格、数字和其它字符的个数。
def count(*param):
    length = len(param)
    for i in range(length):
        letters = 0
        space = 0
        digit = 0
        others = 0
        for each in param[i]:
            if each.isalpha():
                letters += 1
            elif each.isdigit():
                digit += 1
            elif each == ' ':
                space += 1
            else:
                others += 1
        print('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。)
怎么写呀这道题 看答案也看不明白 有大佬能帮帮我写一个注释吗 还有就是这个(*param)收集参数和普通参数到底是什么区别呀 新手真的搞不明白 谢谢大佬
            
最佳答案
2020-9-9 21:24:02
def count(*param):  # *param是传入不定长参数,可以是多个参数
    length = len(param)  # 获取参数的个数
    print(param)  # 可以打印看下每个参数是什么
    for i in range(length):  # 循环,有两个参数就循环两次
        letters = 0  # 初始化统计变量
        space = 0
        digit = 0
        others = 0
        for each in param[i]:  # 对每个参数的每个字符进行循环遍历
            print(each)  # 可以打印看下每个each是什么
            if each.isalpha():  # 判断是否是纯字母
                letters += 1
            elif each.isdigit():  # 判断是否是纯数字
                digit += 1
            elif each == ' ':  # 判断是否是空格
                space += 1
            else:
                others += 1  # 其他字符统计
        print(f'第{i + 1}个字符串共有:英文字母{letters}个,数字{digit}个,空格{space}个,其他字符{others}个。')


count('sdjadjla1 ssda', 'sda')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-9 21:24:02 | 显示全部楼层    本楼为最佳答案   
def count(*param):  # *param是传入不定长参数,可以是多个参数
    length = len(param)  # 获取参数的个数
    print(param)  # 可以打印看下每个参数是什么
    for i in range(length):  # 循环,有两个参数就循环两次
        letters = 0  # 初始化统计变量
        space = 0
        digit = 0
        others = 0
        for each in param[i]:  # 对每个参数的每个字符进行循环遍历
            print(each)  # 可以打印看下每个each是什么
            if each.isalpha():  # 判断是否是纯字母
                letters += 1
            elif each.isdigit():  # 判断是否是纯数字
                digit += 1
            elif each == ' ':  # 判断是否是空格
                space += 1
            else:
                others += 1  # 其他字符统计
        print(f'第{i + 1}个字符串共有:英文字母{letters}个,数字{digit}个,空格{space}个,其他字符{others}个。')


count('sdjadjla1 ssda', 'sda')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-9-10 08:06:44 | 显示全部楼层
def count(*param):  # *带星号的形参变量表示不定量变量,可传入1个或多个。
    length = len(param)  # 获取参数的长度,也就是个数。
    print(param)  
    for i in range(length):  # for循环,循环参数的个数,也就是数量。
        letters = 0  # 初始化4个变量,分别为字母、空格、数字、其他。
        space = 0
        digit = 0
        others = 0
        for each in param[i]:  # 对单个参数的字符进行循环遍历
            print(each)  
            if each.isalpha():  # 判断是否是字母,是的话letter就加1.
                letters += 1
            elif each.isdigit():  # 同理,判断是否数字。
                digit += 1
            elif each == ' ':  # 同理,判断是否空格。
                space += 1
            else:
                others += 1  # 其他字符统计
        print(f'第{i + 1}个字符串共有:英文字母{letters}个,数字{digit}个,空格{space}个,其他字符{others}个。')


count('sdjadjla1 ssda', 'sda') # 函数调用,传入实参。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 18:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表