С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/302: Рейтинг темы: голосов - 302, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 04.12.2014
Сообщений: 44

Реализация однострочного ввода двух и более чисел

08.09.2015, 23:51. Показов 59255. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. Продолжаю изучать питон, решил делать олимпиадные задания, попутно читая Лутца(говорил в прошлой своей теме с вопросом). Столкнулся с трудностью на первой же, вроде бы элементарной задаче. a+b.
Мой код :
Python
1
2
3
a = int(input())
b = int(input())
print(a+b)
Но сайт с проверкой выдаёт ошибку, видимо нужен однострочный ввод, о котором я ещё не знаю. Пытался загуглить - не вышло. Помогите
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.09.2015, 23:51
Ответы с готовыми решениями:

Одинаковое вертикальное выравнивание для двух- и однострочного текста в диве
Добрый день! Есть несколько дивов фиксированной высоты, в которых располагается текст. Требуется чтобы отступы сверху и снизу текста были...

Найти количество чисел, суммы двух первых и двух последних цифр которых различаются не более, чем на 2
Назовём натуральное пятизначное число N (10000<=N <= 99999) счастливым, если суммы двух его первых и двух последних цифр различаются не...

напечатать произведение двух наибольших из трёх из заданых чисел, используя при этом не более двух сравнений
напечатать произведение двух наибольших из трёх из заданых чисел, используя при этом не более двух сравнений

33
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
09.09.2015, 07:43
Deryagtev, суть в том, что эти сайты ожидают, что программа будет другой ввод воспринимать (из командной строки вроде) и по этому ошибка.
Ты покажи сайт, скажем в чем проблема.
0
Фрилансер
 Аватар для Black Fregat
3709 / 2082 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
09.09.2015, 08:02
Лучший ответ Сообщение было отмечено Deryagtev как решение

Решение

Python
1
a,b = map(int, input().split())
1
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
09.09.2015, 08:10
Deryagtev, вот такой код скорее всего сервис ожадет.
Python
1
2
3
import sys
 
sum(int(i) for i in sys.argv[1:])
0
Фрилансер
 Аватар для Black Fregat
3709 / 2082 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
09.09.2015, 09:36
alex925, если не трудно, укажите хоть один сайт, который даёт входные числа через командную строку.
0
0 / 0 / 0
Регистрация: 04.12.2014
Сообщений: 44
09.09.2015, 17:48  [ТС]
Black Fregat, спасибо большое, получилось.
Я конечно сейчас же попробую всё найти сам, но т.к. слабо понимаю технический английский - встроенным хелпом воспользоваться не смогу и не факт что найду значение map и input.split . Если вас не затруднит, объясните пожалуйста
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
09.09.2015, 18:03
Deryagtev, метод split разбивает строку по пробелу, а map применяет указанную функцию к каждому элементу последовательности.

Python
1
2
3
4
5
6
7
8
9
>>> a = input()
1 2 43 56 12
>>> a
'1 2 43 56 12'
>>> a.split()
['1', '2', '43', '56', '12']
>>> list(map(int, a.split()))
[1, 2, 43, 56, 12]
>>>
1
0 / 0 / 0
Регистрация: 04.12.2014
Сообщений: 44
09.09.2015, 18:03  [ТС]
Спасибо. Подскажите тогда, как сделать ввод N количества переменных (n тоже вводится), чтобы их после этого можно было использовать? Список? Как реализовать такой ввод?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
09.09.2015, 18:08
Python
1
2
data = [input('>>> ') for _ in range(int(input('Колличество элементов: ')))]
print(data)
1
0 / 0 / 0
Регистрация: 04.12.2014
Сообщений: 44
09.09.2015, 18:15  [ТС]
А в строчку это сделать можно?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
09.09.2015, 18:19
Цитата Сообщение от Deryagtev Посмотреть сообщение
А в строчку это сделать можно?
А тут тебе типо не в строчку?!
0
0 / 0 / 0
Регистрация: 04.12.2014
Сообщений: 44
09.09.2015, 18:25  [ТС]
Ввод тут в столбик.
Миниатюры
Реализация однострочного ввода двух и более чисел  
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
09.09.2015, 18:45
Так ты об этом чтоль.... Мысли ясней надо выражать.
Можно сделать ввод значений просто через пробел, но тогда ввод колличества элементов становится безсмысленным и по факту может будет ввести больше чем нужно элементов.
Ну, а вообще к чему такая необходимость?
0
0 / 0 / 0
Регистрация: 04.12.2014
Сообщений: 44
09.09.2015, 19:08  [ТС]
Ну вот тут такая задача :
http://acm.timus.ru/problem.aspx?space=1&num=1025
Количество элементов там нужно будет использовать для решения, сейчас проблема с вводом.
Python
1
2
a = input()
b = a.split()
Вот, что выходит с вводом. Не получается преобразовать из '1' в 1. Map работает только если пишу его в print, а записать значение не выходит.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
09.09.2015, 23:59
Python
1
2
3
4
5
>>> from functools import reduce
>>> print(reduce((lambda x, y: int(x) + int(y)), input('Numbers: ').split()))
Numbers: 1 2 3 4 5
15
>>>
оно, не?
1
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
10.09.2015, 00:49
Лучший ответ Сообщение было отмечено Deryagtev как решение

Решение

Python
1
2
3
groups = int(input("Введите количество групп "))
print(sum(int(m) // 2 + 1
      for m in sorted(input("Введите количество членов в каждой группе ").split())[:groups // 2 + 1]))
1
0 / 0 / 0
Регистрация: 04.12.2014
Сообщений: 44
10.09.2015, 16:10  [ТС]
Marinero, всё работает, но я не понимаю как. Возможно стоит не лезть решать задачи, а просто читать дальше, но я всё же хочу разобраться.

Python
1
2
3
groups = int(input("Введите количество групп "))
print(sum(int(m) // 2 + 1
      for m in sorted(input("Введите количество членов в каждой группе ").split())[:groups // 2 + 1]))
http://fotohost.by/images/2015... e4227c.png

гугл транслейт не может объяснить мне, что такое iterable, а сам я не понимаю. Откуда берётся m , тоже не понимаю. Чувствую себя совсем тупицей. Объясните пожалуйста. Даже банально, почему перед groups ":"
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
10.09.2015, 16:39
Лучший ответ Сообщение было отмечено Deryagtev как решение

Решение

Цитата Сообщение от Deryagtev Посмотреть сообщение
всё работает, но я не понимаю как.
Вот, тот же самый код, только записанный более просто, думаю так легче будет
Python
1
2
3
4
5
6
7
8
groups = int(input("Количество групп: "))
count_members = sorted(input("Количество членов в каждой группе ").split())
 
result = 0
for i in sorted(count_members)[:groups // 2 + 1]:
    result += int(i) // 2 + 1
 
print(result)
Цитата Сообщение от Deryagtev Посмотреть сообщение
что такое iterable
Если я правильно понял о чем ты спрашиваешь, то это имеется ввиду, что функция sorted принимает объект, который поддерживает итерации. То есть, который можно перебрать в цикле for.
Цитата Сообщение от Deryagtev Посмотреть сообщение
Откуда берётся m
Это переменная цикла. В коде, который я выложил это i.
Цитата Сообщение от Deryagtev Посмотреть сообщение
почему перед groups ":"
Это операция полчения среза.
Python
1
2
3
4
>>> groups = 4
>>> data = [1, 2, 3, 4, 5, 6]
>>> data[:groups]
[1, 2, 3, 4]
Добавлено через 1 минуту
P.S ты слишком рано полез решать задачи, тебе надо основы подтянуть. Точнее наверно сесть и учить основы.
1
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
10.09.2015, 16:44
alex925, в коде 2 раза сортируется список — строка 2 и строка 5…
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
10.09.2015, 16:46
Ой, ошибочка, проглядел. Удалил бы это, но код не могу уже менять.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.09.2015, 16:46
Помогаю со студенческими работами здесь

Найти количество четырехзначных чисел, где суммы двух первых и двух последних цифр различаются не более, чем на 3
Назовём натуральное четырёхзначное число N (1000 <= N <= 9999) счастливым, если суммы двух его первых и двух последних цифр различаются не...

Создать приложение, в котором по нажатию кнопки на форме выводится сумма двух чисел, введённых из двух полей ввода
Создать приложение, в котором по нажатию кнопки на форме выводится сумма двух чисел, введённых из двух полей ввода

Два ввода данных (не более чем по 12 чисел) и их сравнение
может у кого есть уже есть готовое решение, кто такое решал или кто-то сможет сделать. или как-нибудь помочь буду очень рад, заранее...

Задана матрица целых чисел. Вывести номера строк, в которых находится более двух простых чисел
Задана матрица целых чисел A(n×m). Вывести номера строк, в которых находится более двух простых чисел. Помогите решить на PascalABC.NET...

Задана матрица целых чисел. Вывести номера строк, в которых находится более двух простых чисел
Задана матрица целых чисел A(n×m). Вывести номера строк, в которых находится более двух простых чисел. Помогите решить на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru