1、解法:对输入的单词进行分割得到列表,遍历列表中的单词,二级遍历单词中的字符,判断字符是否存在字符字典中,存在则计数+1,不存在则初始化字典为1
2、知识点:字典、列表、for循环、if判断、input获得输入、print打印
3、代码如下:
# -*- coding: UTF-8 -*-#简历一个字典,key=26个英文字母,value为出现次数
wordDict = {}
#获得输入单词字符串
str = input("请输入一串单词")
#用空格分割单词,存到列表
strArr = str.split(sep=' ')
#遍历列表中的单词
for word in strArr:
#遍历单词中的字母
for ch in word:
#判断字典中是否存在键key
if ch in wordDict:
wordDict[ch] = wordDict.get(ch)+1#计数+1
else:
wordDict[ch] = 1#计数初始化为1
#打印输出
for key,value in wordDict.items():
print("%s=%d"%(key, value))
例如:在C:\TDDOWNLOAD目录下有a.txt、b.txt两个文件,另有\sub1子文件夹,C:\TDDOWNLOAD\sub1下又有c.txt、d.txt两个文件。
1. os.walk
os.walk()返回一个三元素的tuple:当前路径、子文件夹名称、文件列表。
>>>import os
>>>def fun( path ):
... for root, dirs, files in os.walk( path ):
... for fn in files:
... print root, fn
...
>>>fun( r'C:\TDDOWNLOAD' )
C:\TDDOWNLOAD a.txt
C:\TDDOWNLOAD b.txt
C:\TDDOWNLOAD\sub1 c.txt
C:\TDDOWNLOAD\sub1 d.txt
>>>
2. glob.glob
glob.glob()只接受一个参数,这个参数既代有路径,又代有匹配模式,返回值为一个列表。注意,glob.glob()无法直接穿透子文件夹,需要自己处理:
>>>def fun( path ):
... for fn in glob.glob( path + os.sep + '*' ): # '*'代表匹配所有文件
... if os.path.isdir( fn ): # 如果结果为文件夹
... fun( fn ) # 递归
... else:
... print fn
...
>>>fun( r'C:\TDDOWNLOAD' )
C:\TDDOWNLOAD\a.txt
C:\TDDOWNLOAD\b.txt
C:\TDDOWNLOAD\sub1\c.txt
C:\TDDOWNLOAD\sub1\d.txt
>>>
'*'为匹配模式,代表匹配所有文件,只有这样才能将子文件夹查出来,以便递归深入,探查下一层的文件。
a = [[1, 2, 3, 4, -1], [21, 23, 34, 45, 1], [3, 4, 34, 2, 1]]cl_num = -1
for i in range(len(a)-1):
this_line = a[i][cl_num]
next_line = a[i+1][cl_num]
issame = (this_line == next_line)
if issame:
print('第{0}行第{1}列与第{2}行第{1}列相等'.format(str(i), str(cl_num), str(i+1)))
else:
print('第{0}行第{1}列与第{2}行第{1}列不相等'.format(str(i), str(cl_num), str(i+1)))
# 第0行第-1列与第1行第-1列不相等
# 第1行第-1列与第2行第-1列相等
此为按你要求,比较相邻行的最后一列的值。
下次去stackoverflow上查答案或提问吧。