在Python中使用数字的每个数字平方?

时间:2018-04-02 02:24:47

标签: python python-3.x numbers

平方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)

4 个答案:

答案 0 :(得分:1)

我们可以使用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)

可选地

print(''.join([str(int(i)**2) for i in list(str(num))]))

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我们还支持输入负数和零。有趣地使用算术运算符(%和//)。

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)

答案 3 :(得分:-1)

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)