|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
想要统计多个字符串,可是这段程序只统计了第一个字符串,是因为return只能返回一个值,for循环里面执行到return就会跳出循环吗?求解答,谢谢!
- 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.'))
复制代码
本帖最后由 Twilight6 于 2020-7-8 17:39 编辑
是的 ,函数内一遇到 return 这个函数就运行完毕了,一个函数最主要的作用就是得到返回值,所以一遇到 return 这个函数的使命就完成了
你学到后面可以用 yield 生成器,一次一次的将返回值返回出来
这里的 return 移动到for 循环外即可了
- 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.'))
复制代码
|
|