Разделите целое число на цифры для вычислений контрольной суммы ISBN

Вы не должны использовать ни один.

Вы должны использовать

#include 
...
int main()
{
   ... 
   std::cin.ignore(); //why read something if you need to ignore it? :)
}'

Вот документация

53
задан Gilles 'SO- stop being evil' 15 September 2012 в 09:57
поделиться

3 ответа

Просто создайте из него строку.

myinteger = 212345
number_string = str(myinteger)

Этого достаточно. Теперь вы можете перебирать его:

for ch in number_string:
    print ch # will print each digit in order

Или вы можете разрезать его:

print number_string[:2] # first two digits
print number_string[-3:] # last three digits
print number_string[3] # forth digit

Или, лучше, не преобразовывайте ввод пользователя в целое число (пользователь вводит строку)

isbn = raw_input()
for pos, ch in enumerate(reversed(isbn)):
    print "%d * %d is %d" % pos + 2, int(ch), int(ch) * (pos + 2)

Для получения дополнительной информации прочтите учебник .

84
ответ дан 7 November 2019 в 08:16
поделиться
list_of_ints = [int(i) for i in str(ISBN)]

даст вам упорядоченный список ints. Конечно, учитывая утиный ввод, вы также можете работать с str (ISBN).

Изменить: Как упоминалось в комментариях, этот список не отсортирован по возрастанию или убыванию, но он имеет определенный порядок (наборы, словари и т. д. в python теоретически этого не делают, хотя на практике порядок, как правило, довольно надежен). Если вы хотите отсортировать его:

list_of_ints.sort ()

- ваш друг. Обратите внимание, что sort () выполняет сортировку на месте (например, фактически изменяет порядок существующего списка) и не возвращает новый список.

21
ответ дан 7 November 2019 в 08:16
поделиться
while number:
    digit = number % 10

    # do whatever with digit

    # remove last digit from number (as integer)
    number //= 10

На каждой итерации цикла он удаляет последнюю цифру из номера, присваивая ей цифру . Это наоборот, начинается с последней цифры, заканчивается первой

66
ответ дан 7 November 2019 в 08:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: