19讲字符串的计算统计,两个函数的方式怎么用
def count(*params):le = len(params)
cs = 1
for each1 in params:
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'))
你这个代码不是已经工作得很好了吗? jackz007 发表于 2022-10-12 08:29
你这个代码不是已经工作得很好了吗?
没有啊,你运行下试试,我这个程序应该是第一个定义count的时候的for循环语句有问题{:5_96:}答案看了,比我的简单多了,但是还是想按我这个思路走下来 本帖最后由 jackz007 于 2022-10-12 22:22 编辑
必须学好编程 发表于 2022-10-12 21:46
没有啊,你运行下试试,我这个程序应该是第一个定义count的时候的for循环语句有问题答案看了,比 ...
def count(* params):
for each1 in range(len(params)):
print('第 %d 个字符串中有:' % (each1 + 1))
js(params) # 函数无返回值,不可作为 print() 的参数
def js(params) :
yw = sz = kg = qt = 0
for each2 in params:
if each2 . isalpha() : yw += 1 # isalpha() 缺括号
elif each2 . isdigit() : sz += 1 # isdigit() 缺括号
elif each2 == ' ' : kg += 1
else : qt += 1
print('英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。'%(yw,sz,kg,qt))
count('wo ai cff 1314,enen','ha hah,111') # 函数无返回值,不可作为 print() 的参数
运行实况:
D:\\Python>python xs.py
第 1 个字符串中有:
英文字母 11 个,数字 4 个,空格 3 个,其他字符 1 个。
第 2 个字符串中有:
英文字母 5 个,数字 3 个,空格 1 个,其他字符 1 个。
D:\\Python> 谢谢大佬,就是最后这个print的用法没太明白,为啥这个里面最后一步不能用print
def palindrome(string):
list1 = list(string)
list2 = reversed(list1)
if list1 == list(list2):
return '是回文联!'
else:
return '不是回文联!'
print(palindrome('上海自来水来自海上'))
这个里面就可以用 本帖最后由 jackz007 于 2022-10-14 08:15 编辑
必须学好编程 发表于 2022-10-13 21:47
谢谢大佬,就是最后这个print的用法没太明白,为啥这个里面最后一步不能用print
def palindrome(string) ...
如果把函数放在 print() 里面调用,那就是需要打印函数的返回值,可是,这两个函数都没有返回值,就是说,没有 return 语句,最后的执行结果,会输出一个 None。 jackz007 发表于 2022-10-12 22:17
运行实况:
请问下大佬,如果要把这两个函数用return返回,而不是用print输出
这个要怎么实现呢 本帖最后由 jackz007 于 2022-10-14 16:22 编辑
迦勒底的doctor 发表于 2022-10-14 15:49
请问下大佬,如果要把这两个函数用return返回,而不是用print输出
这个要怎么实现呢
def count(* params):
return ) for i in range(len(params))] # 返回包含元组的列表,元组个数是 params 中字符串的个数,元组的内容是对该字符串的统计结果。
def js(params) :
yw = sz = kg = qt = 0
for each2 in params:
if each2 . isalpha() : yw += 1
elif each2 . isdigit() : sz += 1
elif each2 == ' ' : kg += 1
else : qt += 1
return yw , sz , kg , qt # 返回字符串 params 中,各种字符的统计结果
x = count('wo ai cff 1314,enen' , 'ha hah , 111')
for k in range(len(x)) :
print('第 %d 个字符串中有:' % (k + 1))
print('英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (x , x , x , x))
函数的角色应该是 "哑巴" ,只负责加工信息,数据的获取和输出由主函数来做,有了这些东西,接下来该干什么,以及应该怎么干,由主程序来做决定,就好比我们人类,组织分工要有层次,老板们只负责决策和表面上的事情,力气活统统归马仔。 jackz007 发表于 2022-10-14 16:14
函数的角色应该是 "哑巴" ,只负责加工信息,数据的获取和输出由主函数来做,有了这些东西, ...
谢谢大牛{:5_108:} jackz007 发表于 2022-10-14 16:14
函数的角色应该是 "哑巴" ,只负责加工信息,数据的获取和输出由主函数来做,有了这些东西, ...
万分感谢
您的代码,我好几遍,才算是理解了小甲鱼视频里面的一些用法
非常感谢
页:
[1]