Python3 как возвести в степень каждую цифру натурального числа?
На скорую руку - простейшее решение, если я правильно понял суть задачи:def square_digits(number):
    out = ''
    for im in str(number):
        out += str(int(im)**2)
    return int(out)
>>> square_digits(91)
811
Есть большое количество способов это сделать:def square_digits_v1(n):
    return int(''.join(str(int(x) ** 2) for x in str(n)))

def square_digits_v2(n, t=str.maketrans({str(d): str(d ** 2) for d in range(10)})):
    return int(str(n).translate(t))

def square_digits_v3(n):  # import re
    return int(re.sub('\d', lambda m: str(int(m.group(0)) ** 2), str(n)))

def square_digits_v4(n):  # import numpy as np
    return int(''.join((np.fromiter(str(n), int) ** 2).astype(str)))

def square_digits_v5(n):  # Только вывод на печать
    print(*[int(x) ** 2 for x in str(n)], sep='')
UPD Извращаться, так извращаться:from decimal import Decimal
from io import StringIO

def square_digits_v6(n):
    with StringIO() as buffer:
        for digit in Decimal(n).as_tuple().digits:
            print(digit ** 2, end='', file=buffer)
        return int(buffer.getvalue())as_int = lambda f: lambda x: int(f(x))

@as_int
def square_digits_v7(n):
    return eval('f"{'+'**2}{'.join(f'{n}')+'**2}"')