Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/121: Рейтинг темы: голосов - 121, средняя оценка - 4.69
20 / 21 / 6
Регистрация: 30.06.2015
Сообщений: 431

Как выводить результат программы в одну строку?

21.03.2016, 17:44. Показов 22778. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача Напишите программу, которая принимает на вход список чисел в одной строке и выводит на экран в одну строку значения, которые повторяются в нём более одного раза.

Для решения задачи может пригодиться метод sort списка.

Выводимые числа не должны повторяться, порядок их вывода может быть произвольным.
мой код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
lst = list(input())
x = 0
l = []
for i in lst:
    if lst.count(i) !=1:
        l.append(i)
 
l2 = set(l)
l2= list(l2)
l2.remove(' ')
while x != len(l2):
    print(l2[x])
    x +=1
Как выводить результат в строку?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.03.2016, 17:44
Ответы с готовыми решениями:

Пытаюсь сделать калькулятор со вводом в одну строку, начал с прибавления, не хочет выводить конечный результат с функции
#include <iostream> #include <string> #include <cmath> using namespace std; void err() { cout << "You have a mistake in...

Как в питоне выводить буквы в одну строку по очереди?
Здраствуйте! Подскажите пожалуйста, как с помощью модуля time можно сделать так, чтобы выводилась, например буква "а", потом к...

Как в цикле выводить каждый раз только одну строку файла?
Есть какой то файл Input.txt и в нем есть данные int,string,int,int : 1,Иванов Иван Иванович,65,176 1,Петров Петр Петрович,70,175 и...

23
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
21.03.2016, 17:55
Python
1
2
l = input().split()
print(*({x for x in l if l.count(x) > 1}))
1
20 / 21 / 6
Регистрация: 30.06.2015
Сообщений: 431
21.03.2016, 19:24  [ТС]
круто вы решаете такие задачи в пару строк и за пару минут...есть куда мне стремиться...но могли бы вы мне помочь разобраться в моем коде?не вертикально, а горизонтально?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
21.03.2016, 19:31
можно и подлиннее:

Python
1
2
3
4
5
6
7
8
l = input().split()
 
s = set()
for x in l:
    if l.count(x) > 1:
        s.add(x)
 
print(*s) # print(" ".join(s))
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.03.2016, 20:07
Цитата Сообщение от izuchaju_python Посмотреть сообщение
Для решения задачи может пригодиться метод sort списка.
Не на что не намекает?
0
21.03.2016, 20:11

Не по теме:

может пригодиться... а может и не пригодиться :D

0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.03.2016, 20:18
Оно то так но если сильно заботится об производительности, то теоретически сортировка списка может улучшить эффективность в равнении с постоянными вызовами count. Но если думать дальше то может тогда лучше уже завести dict
0
 Аватар для Semen-Semenich
5228 / 3474 / 1174
Регистрация: 21.03.2016
Сообщений: 8,301
21.03.2016, 20:26
зачем так было мудрить?

Python
1
2
3
4
5
6
lst =input().split()
l = []
for i in lst:
    if lst.count(i)!=1 and i not in l :
        l.append(i)
print(' '.join(l))
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
21.03.2016, 20:33
Semen-Semenich, а чем у Вас проще/лучше?
0
 Аватар для Semen-Semenich
5228 / 3474 / 1174
Регистрация: 21.03.2016
Сообщений: 8,301
21.03.2016, 20:37
я не сказал что проще и лучше.я взял основу кода автора и убрал лишнее заменив условием and получив требуемый результат
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.03.2016, 21:12
Python
1
2
3
4
5
6
7
8
9
    l = [1, 4, 5, 4, 1, 6, 4, 6, 4, 4, 7]
    l.sort()
    n = 0
    for i in range(1, len(l)):
        if l[i] == l[n]:
            if i - n == 1:
                print(l[i])
        else:
            n = i
0
20 / 21 / 6
Регистрация: 30.06.2015
Сообщений: 431
22.03.2016, 11:42  [ТС]
Python
1
print(*s) # print(" ".join(s))
был бы признательным тому, кто даст ссылку о прочтении такого вывода.
0
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
22.03.2016, 12:00
1:
Распаковка

Для того, чтобы сделать использование функций ещё удобнее, в Python есть оператор * — распаковка. Его можно применять только применительно к параметрам вызываемой функции. При этом происходит следующее: из объекта, к которому применяется распаковка, извлекаются отдельные элементы и передаются в качестве отдельных параметров: Рассмотрим пример:
Python
1
2
3
4
5
6
7
def func1():
    return 2, 5, 7
 
def func2(x, y, z):
    print(x + y + z)
 
func2(*func1())
Здесь функция func1() возвращает кортеж из трёх чисел, а функция func2() принимает на вход три элемента. Результат работы первой функции можно передать сразу во вторую, если распаковать результат её работы.
Другой пример использования распаковки --- это передача одного и того же набора параметров в разные функции:

Python
1
2
3
4
5
6
7
8
9
def func1(x, y):
    print(x + y)
 
def func2(x, y):
    print((x ** 2 + y ** 2) ** 0.5)
 
pars = (3, 7)
func1(*pars)
func2(*pars)
Очень удобно использовать распаковку — внутри функции print:

Python
1
2
3
4
5
6
def fibonacci(n):
    fib1, fib2 = 0, 1
    for i in range(n):
        fib1, fib2 = fib2, fib1 + fib2
        yield fib1
print(*fibonacci(10))
Таким образом, можно быстро выводить содержимое списков, результаты работы генераторов или функций, возвращающих кортежи или списки.
Также при помощи распаковки можно передавать числовые параметры из стандартного ввода в функцию в одну строчку:

Python
1
2
3
def max(a, b, c):
    return max(max(a, b), c)
print(max(*map(int, input().split())))

2:

join — очень полезная функция. Она принимает массив и складывает все строки из него в одну большую строку, и разделителем между элементами является сама строка, из которой вызвали функцию.
Python
1
2
3
sep = ", "
arr = ["Саша", "Женя", "Петя", "Вася"]
sep.join(arr)
PHP/HTML
1
'Саша, Женя, Петя, Вася'
Python
1
";".join( ["1","2"] )
PHP/HTML
1
'1;2'
2
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.03.2016, 17:22
Цитата Сообщение от Avazart Посмотреть сообщение
Python
1
2
3
4
5
6
7
8
9
l = [1, 4, 5, 4, 1, 6, 4, 6, 4, 4, 7]
* * l.sort()
* * n = 0
* * for i in range(1, len(l)):
* * * * if l[i] == l[n]:
* * * * * * if i - n == 1:
* * * * * * * * print(l[i])
* * * * else:
* * * * * * n = i
Изначально идея была верная, только исполнение немного подкачало.
Python
3
4
5
6
7
8
9
for i in range(1, len(l) - 1):
    if l[i-1] == l[i] and l[i] != l[i+1]:
        print(l[i], end=" ")
if l[i+1] == l[i]:
    print(l[i])
else:
    print()
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.03.2016, 18:01
Цитата Сообщение от Marinero Посмотреть сообщение
только исполнение немного подкачало.
В чем?
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.03.2016, 20:23
Avazart, лишняя переменная n. Хотя в целом интересная реализация, беру свои слова обратно.
0
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 2
28.03.2018, 20:49
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
lst = list(input())
x = 0
l = []
for i in lst:
    if lst.count(i) !=1:
        l.append(i)
 
l2 = set(l)
l2= list(l2)
l2.remove(' ')
while x != len(l2):
    print(l2[x],endl=" ")
    x +=1
print()
endl=" " указывает функции print что вместо переноса строки мы вставляем символ пробела.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
28.03.2018, 21:00
Цитата Сообщение от artek06 Посмотреть сообщение
endl

Не по теме:

сишник детектед

0
28.03.2018, 21:04

Не по теме:

Цитата Сообщение от Jabbson Посмотреть сообщение
сишник детектед
Человек который не может отличить Си от С++ детектед )))

0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
28.03.2018, 21:21
Цитата Сообщение от Avazart Посмотреть сообщение
Человек который не может отличить Си от С++ детектед )))

Не по теме:

Вы прекрасно поняли, что имелось ввиду, но очень надо было что-то сказать? Как это должно было быть названо? Сиплюсплюсшник? Сипипишник? Си-based language, c superset - значит сишник. Я не специалист ни в коем случае, боже упаси, но отличаю, спасибо за беспокойство :D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.03.2018, 21:21
Помогаю со студенческими работами здесь

=importxml как сделать результат в одну строку
Нашла довольно интересную функцию в Google таблицах. :umnik: Можно брать данные напрямую с сайтов, что в теории делает возможным парсинг...

Как вывести результат mySQL запроса в одну строку?
Итак, какая дилема, такая проблема - Время решать это всё с SQL'ем.... У меня есть код, который успешно подключается к моей базе...

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

Дописать функцию, которая будет выводить объекты в одну строку
Здравствуйте! Есть две функции: DocBeforeFill() - функция до создания отчета. Здесь заполняются три массива: название, обозначение и...

При выборе значения в ComboBox выводить только одну выбранную строку в DataGridView
Нужно при выборе значения в combobox выводило только одну выбранную строчу в datagridview. Думал может через запрос. private void...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru