qcyQCY 发表于 2020-10-16 12:41:57

统计字符串中有几个字母,几个数字,几个空格,几个其他字符

写函数,统计字符串中有几个字母,几个数字,几个空格,几个其他字符,并返回结果

这是我写的不对,大佬们帮忙解决一下,不要用isalpha,isdigit就行,可以用ord



def count(*param):
    letters = 0
    space = 0
    digit = 0
    others = 0
    for i in param:
      if (ord('i') in range(97,123)) or (ord('i') in range(65,91)):
            letters += 1
      elif ord('i') in range(48,58):
            digit += 1
      elif each == ' ':
            space += 1
      else:
            others += 1

    print('字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d个。' % (letters, digit, space, others))


a=input('请输入字符串!')
count(a)

wp231957 发表于 2020-10-16 12:41:58

qcyQCY 发表于 2020-10-16 12:44
就只一个字母,缩进有问题,不会操作

大佬们帮我瞅瞅

把ord括号里的i的引号去掉试一下

qcyQCY 发表于 2020-10-16 12:44:11

就只一个字母,缩进有问题,不会操作

大佬们帮我瞅瞅

hrp 发表于 2020-10-16 13:17:53

不知道你传进的参数是多个字符串还是一个?如果只传进一个字符串,那就把param前的星号去掉,如果是多个字符串,那就再增加一层for循环对i进行历遍。
还有ord中的参数不要加引号。
页: [1]
查看完整版本: 统计字符串中有几个字母,几个数字,几个空格,几个其他字符