I'm trying to have my program output:
a. am {1: '2'}
b. at {1: '2'}
c. far {1: '1'}
...
ff. glad {1: '2'}
gg. i {1: '2'}
hh. it {1: '1'}
...
ooo. lets {1: '0'}
ppp. outcome {1: '2'}
The first part, the letters, is the line number but represented with a letter, looping back to the start of the alphabet when it reaches "z."
The second part, the words, is the alphabetized word that it scans from a string.
The third part, is {the number of times a word appears:sentence number(s) it appears in}.
For some reason, everything works except I cannot get the enumeration loop to work correctly on the lettering. It currently outputs this:
a. am {1: '2'}
a. at {1: '2'}
a. far {1: '1'}
a. glad {1: '2'}
My code is:
import string
from itertools import cycle
x=range(1)
...
letters = list(string.ascii_lowercase)
m = len(letters)
for key in sorted(word_counter):
order = {len(word_counter[key]): str(sent_num[key]).replace('[','').replace(']','')}
#creates a dictionary with the number of times word appears on the left
#and the sentence it appears in on the right
for i, (let, e) in enumerate(zip(cycle(letters), x)):
testing = (let*(i//m+1))
print("{}. {} {}".format(testing, key, order))
If I change the 'x=range(1)' to anything else it just repeats the previous line that many times then moves onto the next word. Can anyone help me?