繁体   English   中英

使用str()在Python中转换int()中的数字

[英]usage of str() to convert number in int() in Python

有人可以解释我为什么我应该首先将数字转换为字符串,以便将其转换为整数。 以下是代码示例:

print sum(int(number) for number in str(__import__('math').factorial(520)))

因为代码总结了阶乘结果的数字。 为了访问每个数字,它将数字转换为字符串并循环数字字符,然后将它们转换为int

>>> __import__('math').factorial(10)
3628800
>>> sum(int(number) for number in str(__import__('math').factorial(10)))
27 # == 3 + 6 + 2 + 8 + 8

还有另一种方法来访问数字的数字,然后除以10并保存余数。 在这种情况下,您不必将数字转换为字符串,然后将字符串数字转换为int。

def sum_digits(number):
    reminder = 0
    while number:
        reminder += number%10
        number = number/10
    return reminder

num = __import__('math').factorial(10)
print(sum_digits(num))
27

因为你正在迭代字符串中的每个字符。 如果你从发电机组展开它,很容易辨别

sum_ = 0
for number in str(math.factorial(520)):
    sum_ += int(number)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM