pythonnumbers

Square Every Digit of a Number in Python?


if we run 9119 through the function, 811181 will come out, because 9² is 81 and 1² is 1.

write a code but this not working.

def sq(num):
    words = num.split()  # split the text
    for word in words:  # for each word in the line:
        print(word**2) # print the word

num = 9119
sq(num)

Solution

  • We can use list to split every character of a string, also we can use "end" in "print" to indicate the deliminter in the print out.

    def sq(num):
        words = list(str(num)) # split the text
        for word in words:  # for each word in the line:
            print(int(word)**2, end="") # print the word
    
    num = 9119
    sq(num)
    

    Alternatively

    return ''.join(str(int(i)**2) for i in str(num))