人人人示走刀口 发表于 2020-4-22 20:14:30

请问个问题

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.')
打印的部分中%是什么意思和作用,为什么不直接把i+1 letters这些放到字符串中去

BngThea 发表于 2020-4-22 20:17:55


格式化输出,其中的 %d %o 都只是占位符而已

用后面的值替代这些即可
举个例子
"I %s fishC" % 'love'
等价于将 love 替换 %s,所以结果为 "I love fishC"

一个字符串中可以有多个占位符,比如
"%d 只 %s" % (1, "狗")
等价于将 1 替代 %d, 将 狗 替代 %s,所以结果为 "1 只狗"
后面的字符d,s,o等含义请参考:
http://bbs.fishc.com/thread-92997-1-1.html

人人人示走刀口 发表于 2020-4-22 21:30:07

BngThea 发表于 2020-4-22 20:17
格式化输出,其中的 %d %o 都只是占位符而已

用后面的值替代这些即可


那我可以不用%吗,直接把letters这放到字符串里去,有没有坏处

BngThea 发表于 2020-4-23 09:26:40

人人人示走刀口 发表于 2020-4-22 21:30
那我可以不用%吗,直接把letters这放到字符串里去,有没有坏处

放到引号中就不是变量了,你可以自己试试
页: [1]
查看完整版本: 请问个问题