簡體   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