What does upper() do here?
def print_formatted(number):
max_width = len(bin(number)[2:])
for i in range(1,number+1):
print(str(i).rjust(max_width) + " " +oct(i)[2:].rjust(max_width) + " " +(hex(i)[2:].upper()).rjust(max_width) + " " +bin(i)[2:].rjust(max_width))
if __name__ == '__main__':
n = int(input())
print_formatted(n)
I understood all code, I just didn't understand what upper() does in this specific code. I'm a beginner