python 将每个数字平方为整数[duplicate]

nqwrtyyt  于 2023-02-18  发布在  Python
关注(0)|答案(2)|浏览(143)
    • 此问题在此处已有答案**:

What is the purpose of the return statement? How is it different from printing?(15个答案)
How can I use return to get back multiple values from a loop? Can I put them in a list?(2个答案)
5小时前关门了。
例如,如果我们通过函数运行5678,就会得出25364964。所以我写了这样一段代码。

number = 5678

for ch in str(number):
    print (int(ch)**2, end="")

并得到了正确的输出。

25364964

然而,如果我把这段代码放在一个函数下,预期的结果就不会出现。

def square_every_number(number):
    for ch in str(number):
        return ((int(ch)**2))

print(square_every_number(5678))

输出:

25

我只得到了第一个数字的平方。

u4dcyp6a

u4dcyp6a1#

你正在返回第一个循环,你应该建立你的结果并返回它。

def square_every_number(number):
    res = ''
    for ch in str(number):
        res = res + str(int(ch)**2)
    return res

或更短的函数:

def square_every_number(number):
    return ''.join(str(int(ch)**2) for ch in str(number))
ru9i0ody

ru9i0ody2#

您在对第一个字符求平方后返回,请尝试对每个字符求平方,并在函数中形成结果数字,然后返回最终结果,如下所示。

def sq_every_num(number):
    result = ''
    for ch in str(number):
        result += str(int(ch) ** 2)    
    return int(result)

输出:

result = sq_every_num(5678)
print result, type(result)
25364964 < type 'int'>

相关问题