Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 10.04.2018, 20:50   #1
Vlad-Belarus
Пользователь
 
Регистрация: 25.12.2017
Сообщений: 14
Репутация: 10
По умолчанию обобщающий вопрос

Можно ли с помощью одной программы выводить разную информацию на две другие консоли (то есть при запуске программы открывались 2 окна в которые выводились все содержимое print('') и т.п. инструкций). Если да, то как? В интернете искал не чего толкового не нашел.
Vlad-Belarus вне форума   Ответить с цитированием
Старый 10.04.2018, 21:29   #2
Stanislav
Квадрокоптерист
Профессионал
 
Регистрация: 29.09.2007
Сообщений: 1,771
Репутация: 513
По умолчанию

Скажите для чего это надо? цель какая?
__________________
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума   Ответить с цитированием
Старый 10.04.2018, 22:12   #3
Vlad-Belarus
Пользователь
 
Регистрация: 25.12.2017
Сообщений: 14
Репутация: 10
По умолчанию

пишу я программу для нахождения совершенных чисел (Совершенное число — натуральное число, равное сумме всех своих собственных делителей (то есть всех положительных делителей, отличных от самого́ числа). По мере того как натуральные числа возрастают, совершенные числа встречаются всё реже. Неизвестно, бесконечно ли множество всех совершенных чисел.

Совершенные числа образуют последовательность[1]:

6,
28,
496,
8128,
33 550 336,
8 589 869 056,
137 438 691 328,
2 305 843 008 139 952 128,
2 658 455 991 569 831 744 654 692 615 953 842 176,
191 561 942 608 236 107 294 793 378 084 303 638 130 997 321 548 169 216, …)

ну и надо чтобы в одном окне выводились совершенные числа, а в другом не совершенные числа.

практикуюсь, ставлю задачи и пытаюсь их решать. Вот одна из этих задач.
Vlad-Belarus вне форума   Ответить с цитированием
Старый 11.04.2018, 00:39   #4
Stanislav
Квадрокоптерист
Профессионал
 
Регистрация: 29.09.2007
Сообщений: 1,771
Репутация: 513
По умолчанию

Почему не хотите одной строчкой выводить совершенное : не совершенное ? через какой нибудь разделитель.

Если уж прям хочется именно два окна, то можно что нибудь придумать, к примеру 1 скрипт занимается всеми вычислениями а так же делает print совершенного числа а не совершенно число отбрасывает по tcp сокету второму скрипту а тот его печатает.

Если уж сильно нужен вариант который Вы изложили можно еще подумать как это реализовать, пока на ум приходит сокет
__________________
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума   Ответить с цитированием
Старый 11.04.2018, 18:14   #5
Vlad-Belarus
Пользователь
 
Регистрация: 25.12.2017
Сообщений: 14
Репутация: 10
По умолчанию

Просто самому стало интересно, можно ли это реализовать?
Я вот думал что можно просто если число СОВЕРШЕННОЕ, то его добавлять в список и потом этот весь список выводить, а под списком через какой нибудь разделитель выводить НЕ СОВЕРШЕННОЕ число и при каждом повторении цикла стирать все содержимое и выводить заново. Но всё же интересно можно ли это вообще реализовать в два окна?
Vlad-Belarus вне форума   Ответить с цитированием
Старый 11.04.2018, 21:07   #6
Stanislav
Квадрокоптерист
Профессионал
 
Регистрация: 29.09.2007
Сообщений: 1,771
Репутация: 513
По умолчанию

В два окна можно реализовать например с помощью сокетов тут пример https://gist.github.com/Integralist/...15ed6db15809ae на работу не проверял но при желании можно погуглить. и другие примеры. можно и другие варианты поискать, но по мне и этот вполне нормальный
__________________
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума   Ответить с цитированием
Старый 13.04.2018, 21:42   #7
Vlad-Belarus
Пользователь
 
Регистрация: 25.12.2017
Сообщений: 14
Репутация: 10
По умолчанию

Либо я что то не да понял, то ли программа не рабочая.
Vlad-Belarus вне форума   Ответить с цитированием
Старый 13.04.2018, 22:55   #8
Stanislav
Квадрокоптерист
Профессионал
 
Регистрация: 29.09.2007
Сообщений: 1,771
Репутация: 513
По умолчанию

Что конкретно Вы не поняли?

Есть сервер с айпи и портом к нему подключается клиент. (вот ваших два окна) со стороны сервера происходит все вычисления совершенное печатает в этом окне не совершенно отправляет по сокету клиенту тот получает и выводит с помощью принт. куда проще?
__________________
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума   Ответить с цитированием
Старый 19.04.2018, 14:29   #9
nick-one
Пользователь
 
Регистрация: 28.03.2017
Сообщений: 31
Репутация: 21
По умолчанию

Думал, что можно разделить вывод на два окна с помощью Tkinter, не получается.
Код:

from tkinter import *
import time

def fu(*args):
    ct1='Нечетные: '
    ct2='Четные: '
    for x in range(10):
        if x%2:
            ct1+='%s, ' % x
            txt1.set(ct1)
        else:
            ct2+='%s, ' % x
            txt2.set(ct2)

root = Tk()
root.geometry('100x100+0+0')
root.title('главное окно')
btn = Button(root, text="Run", command=fu)
btn.pack(anchor=NW)

c1=Toplevel(root)
c1.title("консоль 1")
c1.geometry('300x100+150+0')
txt1=StringVar()
lbl1 = Label(c1, textvariable=txt1)
lbl1.pack(anchor=NW)

c2=Toplevel(root)
c2.title("консоль 2") 
c2.geometry('300x100+550+0')
txt2=StringVar()
lbl2 = Label(c2, textvariable=txt2)
lbl2.pack(anchor=NW)

root.mainloop()

Программа виснет до полного выполнения функции fu, при больших значениях(range(over 5000)) или при sleep. Как же выводить что-то постепенно, что требует вычислений?
nick-one вне форума   Ответить с цитированием
Старый 19.04.2018, 15:16   #10
nick-one
Пользователь
 
Регистрация: 28.03.2017
Сообщений: 31
Репутация: 21
По умолчанию

Все ок, работает, нужно дописать пару строчек.
Код:

def fu(*args):
    ct1='Нечетные: '
    ct2='Четные: '
    for x in range(10):
        if x%2:
            ct1+='%s, ' % x
            txt1.set(ct1)
        else:
            ct2+='%s, ' % x
            txt2.set(ct2)
        time.sleep(1)
        root.update()

Еще если unix система, то эта задача решается еще проще и вывод будет реально в 2-х консолях.
nick-one вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Жизненный вопрос - Дано: я - самый умный. Вопрос: что делать? где это найти то, чего тебе не хватает? jura_k Свободное общение 16 10.03.2017 13:12
Вопрос по mySQL + Вопрос по RichEdit HTL Общие вопросы Delphi 4 01.01.2010 21:22
Вопрос laxe Общие вопросы C/C++ 4 22.09.2009 10:06
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10


21:58.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru