我正在编写一个脚本,脚本应该读取一个文本文件并测试每行上是否有指定的字母(a,a,r,d,v,a,r,k)。我有一个问题,因为我试图检查3个不同的a,而不是只有一个。我的代码如下:
#Variables
advk = ['a','a','r','d','v','a','r','k']
textfile = []
number = 0
life = 0
for line in open('input.txt', 'rU'):
textfile.append(line.rstrip().lower())
while life == 0:
if all(word in textfile[number] for word in advk):
printed = number + 1
print ("Aardvark on line " + str(printed))
number+=1
if number == len(textfile):
life+=1
else:
number+=1
每次您想用python计算某个值时,请记住Counter类。在
给定输入行
柜台应该是这样的
^{pr2}$以及
你要搜索的信件列表。在
我们使用一个技巧,简单地减去两个计数器
advl - Counter(line.lower())
,然后检查结果计数器是否没有剩余的元素。在其他注意事项:
您可以使用with语句确保文件关闭。
您可以使用enumerate代替计算行号。在
如果advk list是可变的,并且内容是从其他地方读取的,那么为了保持列表中唯一的元素,可以将其转换为set and check。在
在k'行中避免了一个唯一的检查。在
相关问题 更多 >
编程相关推荐