Part II: File Compressor (20 points) PLS DO IT IN PYTHON AND SHOW ALL THE CODE!
ID: 3711377 • Letter: P
Question
Part II: File Compressor (20 points) PLS DO IT IN PYTHON AND SHOW ALL THE CODE!
Part I: String Compressor (20 points) In this problem, you will be implementing a basic data compression algorithm. Write a function compress.line ),which takes one argument, line, a string that you will need to compress it. The algorithm works like this: take a string and start reading from the beginning, compress identical consecutive characters in the form of count of that character directly followed by that character. In the end, the original string will be shortened (hopefully!), and the function should return that shortened result. For example, the string 'AAABBBCCC' will be shortened to '3A3B3C; the string AAC! !?????' will be CSE 101-Spring 2018 Lab #11 Page 1 shortened to 2A1C2!5?; and the string' is also considered a character. B'will be shortened to ' 3 401B2.Notice thata space Note: You may assume that only valid strings will be given as an input for the function. Also, it is very important that you do a .strip(rn) on every string. This is because the invisible newline/return characters may cause issues when you do Part II of this assignment.Explanation / Answer
def compress_line(line):
line = line.strip(' ')
count = 1
a = line[0]
b = ''
for i in range(1, len(line)):
if line[i] == line[i-1]:
count+=1
else:
b = b+str(count) + a
a = line[i]
count = 1
b = b + str(count) + a
return b
def compress_file(file):
compress_list = []
with open(file) as fp:
for line in fp:
compress_list.append(compress_line(line))
return compress_list
# copy pastable code link: https://paste.ee/p/kxEd5