鱼C论坛

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

[已解决]19讲字符串的计算统计,两个函数的方式怎么用

[复制链接]
发表于 2022-10-12 02:31:12 | 显示全部楼层 |阅读模式

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

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

x
def count(*params):
    le = len(params)
    cs = 1
    for each1 in params[le - 1]:
        print('第 %d 个字符串中有:'%cs)
        cs += 1
        print(js(each1))


def js(*params):
    params = str(params)
    yw = 0
    sz = 0
    kg = 0
    qt = 0
    for each2 in params:
        if each2.isalpha:
            yw += 1
        elif each2.isdigit:
            sz += 1
        elif each2 == '\t':
            kg += 1
        else:
            qt += 1
    print('英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。'%(yw,sz,kg,qt))


print(count('wo ai cff 1314,enen','ha hah,111'))
最佳答案
2022-10-12 22:17:29
本帖最后由 jackz007 于 2022-10-12 22:22 编辑
必须学好编程 发表于 2022-10-12 21:46
没有啊,你运行下试试,我这个程序应该是第一个定义count的时候的for循环语句有问题答案看了,比 ...

  1. def count(* params):
  2.     for each1 in range(len(params)):
  3.         print('第 %d 个字符串中有:' % (each1 + 1))
  4.         js(params[each1])                      # 函数无返回值,不可作为 print() 的参数

  5. def js(params) :
  6.     yw = sz = kg = qt = 0
  7.     for each2 in params:
  8.         if each2 . isalpha()   : yw += 1       # isalpha() 缺括号
  9.         elif each2 . isdigit() : sz += 1       # isdigit() 缺括号
  10.         elif each2 == ' '      : kg += 1
  11.         else                   : qt += 1
  12.     print('英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。'%(yw,sz,kg,qt))

  13. count('wo ai cff 1314,enen','ha hah,111')      # 函数无返回值,不可作为 print() 的参数
复制代码

        运行实况:
  1. D:\[00.Exerciese.2022]\Python>python xs.py
  2. 第 1 个字符串中有:
  3. 英文字母 11 个,数字 4 个,空格 3 个,其他字符 1 个。
  4. 第 2 个字符串中有:
  5. 英文字母 5 个,数字 3 个,空格 1 个,其他字符 1 个。

  6. D:\[00.Exerciese.2022]\Python>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-10-12 21:46:28 | 显示全部楼层
jackz007 发表于 2022-10-12 08:29
你这个代码不是已经工作得很好了吗?

没有啊,你运行下试试,我这个程序应该是第一个定义count的时候的for循环语句有问题答案看了,比我的简单多了,但是还是想按我这个思路走下来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-13 21:47:44 | 显示全部楼层
谢谢大佬,就是最后这个print的用法没太明白,为啥这个里面最后一步不能用print

def palindrome(string):
    list1 = list(string)
    list2 = reversed(list1)
    if list1 == list(list2):
        return '是回文联!'
    else:
        return '不是回文联!'
print(palindrome('上海自来水来自海上'))

这个里面就可以用
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-14 23:41:28 | 显示全部楼层
jackz007 发表于 2022-10-14 16:14
函数的角色应该是 "哑巴" ,只负责加工信息,数据的获取和输出由主函数来做,有了这些东西, ...

谢谢大牛
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-3 22:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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