Mojoo08 发表于 2020-3-13 08:58:44

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

def count(*paragraph):
    length = len(paragraph)
    for i in range(length):
      alphabet = 0
      numbers = 0
      space = 0
      others = 0
      for each in paragraph:
            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真的把我弄崩溃了 :(((

zltzlt 发表于 2020-3-13 09:03:59

第 18 行少一个右括号

return('第 %d 个字符共有:英文字母 %d 个, 数字 %d 个,空格 %d 个, 其他字符 %d 个' % (i+1, alphabet, numbers, space, others))

qiuyouzhi 发表于 2020-3-13 09:09:21

1,不用的,默认返回None(而且,return是一个语句,没必要加小括号,除非你要返回元组)
2,18行,最后少了个括号。。

Mojoo08 发表于 2020-3-13 09:24:14

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

又是你,大神谢谢!我好蠢:((

Mojoo08 发表于 2020-3-13 09:24:51

zltzlt 发表于 2020-3-13 09:03
第 18 行少一个右括号

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

我好蠢,捂脸🤦‍♀️ 谢谢~!

黑夜 发表于 2020-4-10 13:54:38

Mojoo08 发表于 2020-3-13 09:24
我好蠢,捂脸🤦‍♀️ 谢谢~!

这里可以用 f-string 来实现,可读性会比较好

Mojoo08 发表于 2020-4-10 15:55:51

黑夜 发表于 2020-4-10 13:54
这里可以用 f-string 来实现,可读性会比较好

谢谢,当时刚入Python 还不熟

黑夜 发表于 2020-4-10 19:29:08

Mojoo08 发表于 2020-4-10 15:55
谢谢,当时刚入Python 还不熟

加油

Bruce.y 发表于 2020-7-1 12:31:15

完全复制您的代码,最终的结果,只打印了第一个,第二个没打印出来,这是为什么呢?是bug吗?

Bruce.y 发表于 2020-7-1 12:34:10

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

请问:完全复制楼主的代码,加上了括号,但是最终的结果,只打印了第一个‘I love fishc.com.’,第二个没打印出来,这是为什么呢?是bug吗?
页: [1]
查看完整版本: 编写一个函数,分别统计出传入字符串参数(可能不只一个参数)的英文字母、空格、...