Разделяйте цифры, используя Python - PullRequest
0 голосов
/ 02 апреля 2020

Я ищу элегантный способ разделения чисел на одну цифру

Например, 20 будет 2, 0

Я нашел способ использовать списки : [int(num) for num in str(number)]

Есть ли другой способ сделать это?

Ответы [ 3 ]

1 голос
/ 02 апреля 2020

Попробуйте следующее:

digits_list = list(str(num))

0 голосов
/ 02 апреля 2020

математическое решение (это работает только с положительными числами как есть):

import math

def get_digits(n):                                                              

    if n == 0:                                                                  
        return [0]                                                              

    digits = []
    while n:
        digits.append(n % 10)
        n = n // 10                                                                                

    return list(reversed(digits))   

for n in [0, 1, 10, 235, 5555]:                                                 
    print(n, get_digits(n))   

output

0 [0]
1 [1]
10 [1, 0]
235 [2, 3, 5]
5555 [5, 5, 5, 5]
0 голосов
/ 02 апреля 2020

Попробуйте это:

num = 20
digits = []
for x in range(0,len(str(num))):
    digits.append(int(str(num)[x]))

print(digits)


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...