|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
def count(*param):
length = len(param)
for i in range(length):
letters = 0
space = 0
digit = 0
others = 0
for each in param[i]:
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.')
请问这个函数,最后print为什么用%d呢,这个是代表格式化整数,为什么要格式化呢?这个%d的数据从何而来呢?还有就是最后的% (i+1, letters, digit, space, others)这句话里面之前为什么要用%符号,为什么第一个是i+1?
格式化输出,其中的 %d都只是占位符而已
用后面的值替代这些即可
举个例子
"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
这里想要一次将数据输出完,采用了多个 %d 而已
i作为循环计数,是从0开始的,用 i+1 表示实际序号
|
|