鱼C论坛

 找回密码
 立即注册
查看: 2004|回复: 9

[已解决]编写一个函数,分别统计出传入字符串参数(可能不只一个参数)的英文字母、空格、...

[复制链接]
发表于 2020-3-13 08:58:44 | 显示全部楼层 |阅读模式

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

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

x
def count(*paragraph):
    length = len(paragraph)
    for i in range(length):
        alphabet = 0
        numbers = 0
        space = 0
        others = 0
        for each in paragraph[i]:
            if each.isalpha():
                alphabet += 1
            elif each.isdigit():
                numbers += 1
            elif each == ' ':
                space += 1
            else:
                others += 1

        return('第 %d 个字符共有:英文字母 %d 个, 数字 %d 个,空格 %d 个, 其他字符 %d 个' % (i+1, alphabet, numbers, space, others)
print(count('I love fishc.com.', 'I love you, you love me.))

我又来了,关于Python 零基础的作业,我比对了一下正确答案,感觉差不多, 除了小甲鱼最后两行是print('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (i+1, letters, digit, space, others))
            
count('I love fishc.com.', 'I love you, you love me.')

然后我的显示的是line 19
    print(count('I love fishc.com.', 'I love you, you love me.))
    ^
SyntaxError: invalid syntax
难道不用在 def 最后加 return 吗, 为神马就直接 print 了呢? 然后最后一行我觉得缩进没有问题啊,不是很懂为神马会报错?
请各位大神指点一下?Python真的把我弄崩溃了 :(((
最佳答案
2020-3-13 09:09:21
1,不用的,默认返回None(而且,return是一个语句,没必要加小括号,除非你要返回元组)
2,18行,最后少了个括号。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-13 09:03:59 | 显示全部楼层
第 18 行少一个右括号

return('第 %d 个字符共有:英文字母 %d 个, 数字 %d 个,空格 %d 个, 其他字符 %d 个' % (i+1, alphabet, numbers, space, others))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-13 09:09:21 | 显示全部楼层    本楼为最佳答案   
1,不用的,默认返回None(而且,return是一个语句,没必要加小括号,除非你要返回元组)
2,18行,最后少了个括号。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-13 09:24:14 | 显示全部楼层
qiuyouzhi 发表于 2020-3-13 09:09
1,不用的,默认返回None(而且,return是一个语句,没必要加小括号,除非你要返回元组)
2,18行,最后少 ...

又是你,大神谢谢!我好蠢:((
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-13 09:24:51 | 显示全部楼层
zltzlt 发表于 2020-3-13 09:03
第 18 行少一个右括号

return('第 %d 个字符共有:英文字母 %d 个, 数字 %d 个,空格 %d 个, 其他字符 ...

我好蠢,捂脸🤦‍♀️ 谢谢~!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 13:54:38 | 显示全部楼层
Mojoo08 发表于 2020-3-13 09:24
我好蠢,捂脸🤦‍♀️ 谢谢~!

这里可以用 f-string 来实现,可读性会比较好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-10 15:55:51 | 显示全部楼层
黑夜 发表于 2020-4-10 13:54
这里可以用 f-string 来实现,可读性会比较好

谢谢,当时刚入Python 还不熟
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 19:29:08 | 显示全部楼层
Mojoo08 发表于 2020-4-10 15:55
谢谢,当时刚入Python 还不熟

加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-1 12:31:15 | 显示全部楼层
完全复制您的代码,最终的结果,只打印了第一个,第二个没打印出来,这是为什么呢?是bug吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-1 12:34:10 | 显示全部楼层
qiuyouzhi 发表于 2020-3-13 09:09
1,不用的,默认返回None(而且,return是一个语句,没必要加小括号,除非你要返回元组)
2,18行,最后少 ...

请问:完全复制楼主的代码,加上了括号,但是最终的结果,只打印了第一个‘I love fishc.com.’,第二个没打印出来,这是为什么呢?是bug吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 14:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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