鱼C论坛

 找回密码
 立即注册
查看: 836|回复: 3

[已解决]Python 019 课后作业动动手01

[复制链接]
发表于 2020-5-31 11:17:45 | 显示全部楼层 |阅读模式

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

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

x
题目:编写一个函数,分别统计出传入字符串参数(可能不只一个参数)的英文字母、空格、数字和其它字符的个数
以下是我写的
def tongji(*param):
    length = len(zifu)
    for i in range(length):
        yingwen = 0
        shuzi = 0
        kongge = 0
        qita = 0
        for each in zifu[i]:
            if each in english:
                yingwen += 1
            elif each in num:
                shuzi += 1
            elif each in space:
                kongge += 1
            else:
                qita += 1
            print('第' , i , '个字符串共有:英文字母' , yingwen , '个,数字' , shuzi , '个,空格' , kongge, '个,其他字符' , qita , '个')
english = 'abcdefghijklmnopqrstuvwxyzQWERTYUIOPLKJHGFDSAZXCVBNM'
num = '0123456789'
space = ' '
zifu = str(input('请输入你要确认的字符:'))
tongji(zifu)

我输入一串字符后都是按照一个个代入进去统计的,如下,请问怎么解决?
请输入你要确认的字符:i love u
第 0 个字符串共有:英文字母 1 个,数字 0 个,空格 0 个,其他字符 0 个
第 1 个字符串共有:英文字母 0 个,数字 0 个,空格 1 个,其他字符 0 个
第 2 个字符串共有:英文字母 1 个,数字 0 个,空格 0 个,其他字符 0 个
第 3 个字符串共有:英文字母 1 个,数字 0 个,空格 0 个,其他字符 0 个
第 4 个字符串共有:英文字母 1 个,数字 0 个,空格 0 个,其他字符 0 个
第 5 个字符串共有:英文字母 1 个,数字 0 个,空格 0 个,其他字符 0 个
第 6 个字符串共有:英文字母 0 个,数字 0 个,空格 1 个,其他字符 0 个
第 7 个字符串共有:英文字母 1 个,数字 0 个,空格 0 个,其他字符 0 个
最佳答案
2020-5-31 11:19:42
把print移动到for循环外
def tongji(*param):
    length = len(zifu)
    for i in range(length):
        yingwen = 0
        shuzi = 0
        kongge = 0
        qita = 0
        for each in zifu[i]:
            if each in english:
                yingwen += 1
            elif each in num:
                shuzi += 1
            elif each in space:
                kongge += 1
            else:
                qita += 1
        print('第' , i , '个字符串共有:英文字母' , yingwen , '个,数字' , shuzi , '个,空格' , kongge, '个,其他字符' , qita , '个')
english = 'abcdefghijklmnopqrstuvwxyzQWERTYUIOPLKJHGFDSAZXCVBNM'
num = '0123456789'
space = ' '
zifu = str(input('请输入你要确认的字符:'))
tongji(zifu)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-31 11:19:42 | 显示全部楼层    本楼为最佳答案   
把print移动到for循环外
def tongji(*param):
    length = len(zifu)
    for i in range(length):
        yingwen = 0
        shuzi = 0
        kongge = 0
        qita = 0
        for each in zifu[i]:
            if each in english:
                yingwen += 1
            elif each in num:
                shuzi += 1
            elif each in space:
                kongge += 1
            else:
                qita += 1
        print('第' , i , '个字符串共有:英文字母' , yingwen , '个,数字' , shuzi , '个,空格' , kongge, '个,其他字符' , qita , '个')
english = 'abcdefghijklmnopqrstuvwxyzQWERTYUIOPLKJHGFDSAZXCVBNM'
num = '0123456789'
space = ' '
zifu = str(input('请输入你要确认的字符:'))
tongji(zifu)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-1 21:18:51 | 显示全部楼层
Twilight6 发表于 2020-5-31 11:19
把print移动到for循环外

试了一下还是不行,不过我仔细想了我的问题应该是怎么把输入的一串字符变成一个或多个字符,已经百度结局了。还是谢谢你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-1 21:19:49 | 显示全部楼层
丿autistic 发表于 2020-6-1 21:18
试了一下还是不行,不过我仔细想了我的问题应该是怎么把输入的一串字符变成一个或多个字符,已经百度结局 ...

好吧 如果问题解决 那就给个最佳吧,还有问题的话就提出来~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 22:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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