Как разбить число на символы python
Перейти к содержимому

Как разбить число на символы python

  • автор:

Разбить число на цифры

Author24 — интернет-сервис помощи студентам

Напишите программу, которая вводит трёхзначное число и разбивает его на цифры. Например, при вводе числа 123 программа должна вывести «1 2 3».

Входные данные
Входная строка содержит одно трёхзначное число.

Выходные данные
Программа должна вывести три цифры переданного ей числа, начиная с первой, разделённые пробелами.

Примеры
входные данные
123
выходные данные
1 2 3

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Разбить число на цифры
Пользователь вводит строку, состоящую из цифр, разделенных пробелами. Разбить строку на отдельные.

Разбить число на цифры
Помогите пожалуйста придумать код, который будет разбивать число. Например я вожу 1234, а вывод.

Разбить огромное число на цифры и сложить текст
Привет, нужна помощь, есть огромное число, допустим 411991215144118514115 и надо его разбить на.

Разбить строку на отдельные цифры
Пользователь вводит строку, состоящую из цифр, разделенных пробелами. Разбить строку на отдельные.

Эксперт Python

2684 / 1590 / 512
Регистрация: 21.02.2017
Сообщений: 4,207
Записей в блоге: 1

Лучший ответ

Сообщение было отмечено golz29 как решение

Решение

print(*input())

Эксперт функциональных языков программированияЭксперт Python

35997 / 20112 / 4196
Регистрация: 12.02.2012
Сообщений: 33,305
Записей в блоге: 13
Fudthhh, у Вас нет числа.
2424 / 1466 / 633
Регистрация: 01.11.2021
Сообщений: 2,269

1 2 3 4
a = int(input()[::-1]) while a: print(a % 10, end=' ') a //= 10

Добавлено через 46 секунд
С нулями такое не прокатит.

Добавлено через 1 минуту

1 2 3 4 5 6
a = int(input()) r = [] while a: r.append(a % 10) a //= 10 print(*reversed(r))

Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

17052 / 9999 / 2763
Регистрация: 21.10.2017
Сообщений: 21,960

ЦитатаСообщение от Catstail Посмотреть сообщение

у Вас нет числа

x = int(input()) print(*f'')

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Найдите двузначное число, равное сумме цифры его десятков и квадрата цифры единиц
2. Найдите двузначное число, равное сумме цифры его десятков и квадрата цифры единиц.

Ввести число n, разбить число на цифры, и найти сумму этих цифр
Здравствуйте.Очень нужно сделать задание, кто может? Заранее спасибо. Ввести число n, разбить.

Пользователь вводит с клавиатуры трехзначное число. Разбить число на цифры, вывести их на экран,
посчитать их сумму, произведение и среднее арифметическое (важно: выполнить с использованием цикла)

Разбить число на цифры
Прошу прощения за мой глупый вопрос. но с Си Билдером я ваще новичек. так вот подскажите как.

Разбить число n на цифры
Составьте программу без использования строковых переменных, которая разбивает число n на цифры и.

Разбить число на цифры.
как в паскале разбить число на цифры.

Или воспользуйтесь поиском по форуму:

Как разделить число на цифры в python?

Здравствуйте! Кто-нибудь может подсказать, как можно сделать так, чтобы, допустим, в числе 135 сложить крайние цифры т.е. 1 и 5?

  • Вопрос задан более трёх лет назад
  • 1588 просмотров

5 комментариев

Простой 5 комментариев

Да проще простого брат:

digits = [] integer = 135 while integer: digits.append(integer % 10) integer /= 10 result = digits[0] + digits[-1]

Можно, конечно, через строку всё это сделать, но препод «неуд» поставит за такое.

Как в Python разбить строку на символы

3 простых способа, которые можно использовать в работе и пет-проектах.

Иллюстрация: Оля Ежак для Skillbox Media

Дмитрий Зверев

Дмитрий Зверев

Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.

А зачем, собственно, в Python разбивать строки на символы? Например, для того, чтобы проверять правильность пароля и почты клиента, когда он регистрируется в онлайн-сервисе.

Скажем, на нашем сайте есть требование: в пароле должны быть как минимум одна заглавная, одна строчная буква и одна цифра. Мы можем написать скрипт на Python, который проверяет каждый символ и выносит вердикт: верный пароль или нет.

Если вы ещё не знакомы с Python, советуем прочитать нашу статью, в которой мы рассказываем, как быстро и бесплатно изучить этот замечательный язык программирования.

Циклы for и while, или метод «в лоб»

Как работает: проходит по каждому символу в строке и добавляет его в отдельный список.

Самый примитивный способ поделить строку на символы — сделать это с помощью циклов. Выбираем нужные символы из строки и складываем в список.

Выглядит это так:

Генераторы списков — то же, что и for, но короче

Как работает: делает то же самое, что и цикл for, но записывается всего в одну строчку.

password = 'f#da94AAd' symbols = [symbol for symbol in password] print(symbols)
['f', '#', 'd', 'a', '9', '4', 'A', 'A', 'd']

Здесь мы использовали встроенную в Python возможность — list comprehension. Термин сложно перевести на русский, поэтому его называют генератором списков.

Суть простая — это обычный цикл for, который записывается в одну строчку. Чтобы понять, как он работает, перепишем код выше в виде обычного цикла for:

# symbols = [symbol for symbol in password] symbols = [] for symbol in password: symbols += symbol

В короткой записи мы указываем, из какого списка берём элементы — in password, как будем именовать текущий элемент — for symbol, и что делаем с самим элементом — просто сохранять в неизменном виде: symbol.

�� Генераторы списков позволяют записывать длинный цикл for в одну строку. Это полезно, когда не нужно сильно изменять данные, а нужно просто сохранить их.

Функция list — для самых продуктивных

Как работает: делает то же самое, что и циклы for и while, но сокращает количество строк кода.

Когда не хотим писать даже пару строк кода, но разложить строку на символы всё ещё нужно, на помощь приходит функция list. Она превращает набор элементов в список:

password = 'f#da94AAd' symbols = list(password) print(symbols)
['f', '#', 'd', 'a', '9', '4', 'A', 'A', 'd']

Получили такой же результат, но использовали всего одну строку кода. Очень неплохо.

Проверим работу функции проверки пароля:

if check_password(symbols): print('Пароль верный') else: print('Пароль неверный')
'Пароль верный'

�� Функция list — самая лаконичная. Чтобы получить список символов, из которых состоит строка, достаточно просто вызвать функцию со строкой в качестве аргумента.

Что запомнить

Выделим главные тезисы из статьи:

  • использование циклов for и while — это самый простой, но не самый эффективный способ достать из строки все символы;
  • генераторы списков — это удобная и короткая замена цикла for;
  • применение функции list — самый короткий способ разбить строку на символы.

Читайте также:

  • Словари в Python: что нужно знать и как пользоваться
  • «Прошёл модуль курса и начал рассылать резюме»: музыкант, который стал питонистом
  • Создаём первую игру на Python и Pygame

Разбить число на составляющие

На вход функцией input подается 6-значеное число. Нужно разбить его на на отдельные числа. Например: 123456 -> 1 2 3 4 5 6. Делается это для того, чтобы проверить эквивалентность суммы первой и второй тройки чисел (Задача о счастливом билете). В программировании я начинающий и желательно всё сделать операциями div, mod, if-else

a = int(input()) b = a//1000 one = b//100 two = b%11 three = b%10 c = a%1000 four = c//100 five = c%11 six = c%10 if (one+two+three)==(four+five+six): print ('Счастливый') else: print ('Обычный') 

Отслеживать
48.7k 17 17 золотых знаков 56 56 серебряных знаков 100 100 бронзовых знаков
задан 25 мар 2016 в 4:17
175 2 2 золотых знака 2 2 серебряных знака 9 9 бронзовых знаков

9 ответов 9

Сортировка: Сброс на вариант по умолчанию

Можно, конечно, честно посчитать остатки от деления и т.д., но проще всего разбить на символы строку, а потом перевести эти символы обратно в числа. Делается это во второй строке следующей программы:

a = 123456 b = map(int, str(a)) print b if len(b)==6: print "Happy" if b[0] + b[1] + b[2] == b[3] + b[4] + b[5] else "Unhappy" 

Если очень хочется честным образом делить на 10, то можно вторую строку этой программы заменить на такой фрагмент:

b = [] while a > 0: b.append(a % 10) a = a // 10 b = b[::-1] # так можно развернуть, если бы нам был важен порядок print b 

Теперь по тексту Вашей программы: почему-то берётся остаток от деления на 11 (в строках two = b%11 и five = c%11 , хотя правильно было бы поделить на 10, а потом взять остаток от деления на 10 ( two = (b // 10) % 10 ). Вам надо разобраться, откуда взялось 11, так как это очень странный код.

Дополнение:

Если нам важно поддержать случаи входных значений a менее, чем шестизначных, то можно поменять всего одну строчку:

while len(b) < 6: # теперь в b заведомо будет 6 элементов 

Также рекомендую изучить код из соседнего ответа (от jfs), так как в нём есть ряд интересных моментов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *