dasny 发表于 2020-4-11 15:32:42

19讲:如何把输入的多个字符串作为参数传递给函数?

第19讲第1题作业答案:

def count(*param):
    length = len(param)
    for i in range(length):
      letters = 0
      space = 0
      digit = 0
      others = 0
      for each in param:
            if each.isalpha():
                letters += 1
            elif each.isdigit():
                digit += 1
            elif each == ' ':
                space += 1
            else:
                others += 1
      print('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (i+1, letters, digit, space, others))
            
count('I love fishc.com.', 'I love you, you love me.')

一个进一步的想法,希望用户输入要判断的字符串,增加如下代码:

numbers = int(input('请输入要判断的字符串数量:'))

strings = []

for i in range(numbers):

    strings.append(input('请输入第 %d 个字符串:' % (i+1)))

print(strings)

count(tuple(strings))

把用户输入的字符串组合成列表这一步没啥问题,记得视频讲过,函数的参数们类似是一个元组的形式,那么把这个列表元组化以后丢进去发现不行,count函数会把这个元组当成一个参数处理

请问如何处理可以达到目的?

谢谢!

zltzlt 发表于 2020-4-11 17:29:33

count(*strings)
页: [1]
查看完整版本: 19讲:如何把输入的多个字符串作为参数传递给函数?