#输入文件相对路径名,统计字母个数,不区分大小写
import os.path
def main():
filename = input("Enter a filename:").strip()
if os.path.isfile(filename): #判断是否为文件
print("File exists")
infile = open(filename,"r")
counts = 26 * [0]
for line in infile:
countLetters(line.lower(),counts)
for i in range(len(counts)):
if counts[i] != 0:
print(chr(ord('a') + i) + " :apperars: " + str(counts[i]) + (" time" if counts[i] == 1 else " times"))
infile.close()
else:
print("File doesn't exists")
def countLetters(line,counts):
for ch in line:
if ch.isalpha():
counts[ord(ch) - ord('a')] += 1 #利用ascII值得偏移得到索引
if __name__ == "__main__":
main()
利用 chr() 和 ord() 函数,计算统计数组的索引和进行累加
good luck !