これまでのところ、私はこのコードを書いています:
"""test"""
from collections import Counter
FOR_ = 0
WHILE_ = 0
SAUCE_ = None
IF_ = 0
DEF_ = 0
INPUT_ = input("Enter file or directory: ")
print ("Enter file or directory: {0}".format(INPUT_))
print ("Filename {0:>20}".format(INPUT_))
BEE_ = open(INPUT_)
CEE_ = BEE_.readlines()
CAT_ = (str(CEE_))
FAT_ = CAT_.strip()
with open(INPUT_) as EFF_:
i = 1
for SAUCE_ in EFF_:
if i == (int(2)):
break
i += 1
DEE_ = list((SAUCE_))
NNN_ = (DEE_[8:-4])
GGG_ = ''.join(NNN_)
print ("Author {0:>29}".format(GGG_))
if len(CEE_)<=9:
print ("lines_of_code {0:>8}".format((len (CEE_))))
elif len(CEE_)>=10:
print ("lines_of_code {0:>9}".format((len (CEE_))))
COUNTER_ = Counter(str(CEE_))
for LINE_ in CEE_:
if ("for ") in LINE_:
FOR_ += 1
for LINE_ in CEE_:
if ("while ") in LINE_:
WHILE_ += 1
for LINE_ in CEE_:
if ("def if ") in LINE_:
IF_ += 0
AYE_ = IF_
elif ("if ") in LINE_:
IF_ += 1
AYE_ = IF_
for LINE_ in CEE_:
if ("def ") in LINE_:
DEF_ += 1
print ("for_loops {0:>12}".format((FOR_)))
print ("while_loops {0:>10}".format((WHILE_)))
print ("if_statements {0:>8}".format((AYE_)))
print ("function_definitions {0}".format((DEF_)))
print ("multiplications {0:>6}".format((COUNTER_['*'])))
print ("divisions {0:>12}".format((COUNTER_['/'])))
print ("additions {0:>12}".format((COUNTER_['+'])))
print ("subtractions {0:>9}".format((COUNTER_['-'])))
ここまでは、単語 for、def、if、while のすべてのインスタンスをカウントしています。しかし、私がやりたいことは、これらの単語の前にこれらの単語がない場合にのみ、これらの単語のそれぞれを数えることです。例えば:
for def if
のみとしてカウントされます。
また、ファイル内のハッシュが続くものもすべて無視したいと思います。
#for you
for としてカウントされません。
どんな助けでも大歓迎です。