在Python中对数字的每一位求平方?

rqcrx0a6  于 2022-12-05  发布在  Python
关注(0)|答案(6)|浏览(143)

**在Python中对数字的每一位求平方?**如果我们通过函数运行9119,将得出811181,因为92是81,12是1。编写代码,但这不起作用。

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)
zzwlnbp8

zzwlnbp81#

我们可以使用list来拆分字符串中的每个字符,也可以使用print中的end来指示打印输出中的分隔符。

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)

或者

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

yqlxgs2m2#

def sq(num):
    z = ''.join(str(int(i)**2) for i in str(num))
    return int(z)
ejk8hzay

ejk8hzay3#

number=str(input("Enter the number :"))

def pc(number):

      digits = list(number)

      for j in digits:

      print(int(j)**2,end="")
 
pc(number)
y3bcpkx1

y3bcpkx14#

我们还可以支持输入负数和零。使用算术运算符(%和//)来娱乐。

def sq(num):
    num = abs(num)                             #Handle negative numbers
    output = str((num % 10)**2)                #Process rightmost digit 

    while(num > 0):        
        num //= 10                             #Remove rightmost digit       
        output = str((num % 10)**2) + output   #Add squared digit to output
    print(output)
vyswwuz2

vyswwuz25#

您也可以尝试这个变体:
定义平方_位数(数字):返回int(''.join(字符串(int(i)**2),用于字符串(数字)中的i))

5fjcxozz

5fjcxozz6#

def square_digits(num):
    num = str(num)
    result = ''
    for i in num:
        result += str(int(i)**2)
    return int(result)
var = square_digits(123)
print(var)

相关问题