I need to receive a string from the user, present it in list so each organ in the list contains [the letter, the number it repeat in a row].
I thought my code is good but it doesn’t work.
I used http://pythontutor.com and I saw that one the problem is that my var.next and current stay with the same value all the time.
somone have an idea?
Here is my code:
string = raw_input("Enter a string:")
i=0
my_list=[]
current=string[i]
next=string[i+1]
counter=1
j=0
while i<range(len(string)) and next<=range(len(string)):
if i==len(string)-1:
break
j+=1
i+=1
if current==next:
counter+=1
else:
print my_list.append([string[i],counter])
counter=1
output:
Enter a string: baaaaab
As list: [['b', 1], ['a', 5], ['b', 1]]
Use
itertools.groupby()here:Or without using libraries:
output: