Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
in code we trust
 Аватар для __py__
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885

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

13.08.2016, 19:20. Показов 4023. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать так, чтобы получилась бесконечная рекурсия с переполнением памяти? Естественно, чтобы программа сама запускалась из рекурсии. Такое возможно в python? Или это реализовано только в lisp?
В общем программа сама меняет свой код на лету.

Добавлено через 6 минут
В общем задача сейчас состоит из таких частей:
1. Как объяснить программе с какой строки копировать файл.
2. И как реализовать автозапуск файлов в python? Какие модули есть для этого на крайний случай?

Добавлено через 13 минут
С 1 пунктом разобрался, Остался 2-ой. У кого какие мысли?

Добавлено через 22 минуты
Кажется допрограммировался: File cache conflict.

Добавлено через 20 минут
В общем всё работает. Остались мелочи.

Добавлено через 7 минут
Программа переписывает собственный код налету. Так можно или нет создать ИИ на python? Как считаете?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.08.2016, 19:20
Ответы с готовыми решениями:

Как зациклить программу и сделать так, чтобы можно было остановить этот цикл нажатием кнопки?
#include <graphics.h> void Start (int x1, int y1, int clr)// Кнопка запуска, индикатор сигнала { rectangle(x1,y1,x1+10,y1-10); ...

Написать программу на C#, которая выводит коды всех корректных программ на C#, которые не выводят собственный код
Кто знает, как это сделать? И должна ли она в числе прочего выводить собственный код?

Можно ли упаковать в exe'шник используемые в проекте библиотеки так, чтобы можно было запустить программу на машине без .NET
Я погуглил, но нашел только очень дорогие программы. А хотелось бы узнать насчет предложенного мной способа)

5
60 / 69 / 16
Регистрация: 18.04.2016
Сообщений: 213
13.08.2016, 19:34
Python
1
exec(open("main.py").read())
1
in code we trust
 Аватар для __py__
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
13.08.2016, 21:58  [ТС]
После запуска этой программы pycharm завис, комп само собой не реагировал на на что. Хорошо хоть вовремя нажал БОЛЬШУЮ КНОПКУ. А вот др. чел не будет знать, что за процесс происходит... Есть над чем подумать.
Загружалась винда с трудом после этого. Маленький такой прямоугольник с % загрузки на фоне пустого чёрного экрана - никогда такого не видел. Размер программы мутировал в геометрической прогресии. Если бы опоздал на пару сек. Чувствую был бы полный капут либо винды.

Добавлено через 7 минут
Программа стала весить больше гига - 26000 строк кода.
Реализация autorun проведена успешна.

Добавлено через 56 секунд
Чужим кодом не пользовался). Модулей встроенных нет.

Добавлено через 1 час 46 минут
Autorun - ключ ко всему.
Что-то передумал свой код публиковать. Удалил ссылку.
0
13.08.2016, 21:58

Не по теме:

Настоящая нетленка.

0
in code we trust
 Аватар для __py__
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
14.08.2016, 20:58  [ТС]
ну хорошо вот код, всё равно я его усовершенствовать буду
Python
1
2
3
4
5
6
7
8
9
10
11
12
# coding: utf8
__author__ = 'yesok'
 
openf = open("fcopyf.py", "r")  # весь фокус в манипуляции одинаковым файлом - это итоговый файл с уже
# созданным файлом fcopyf.py
openf.read(36)  # указываем с какого места считывать, чтобы в копирование не вошли 1-ые 3 линии кода
file2file = open("fcopyf.py", "a+")  # в этот файл <'file.txt'> копируем всё из любого указанного нами
a = (str(input("вводим свои данные в файл: любые"*99)))  # авто многократный авторан механический автоввод
file2file.write(str("\n" + a + "\n"))  # перенос строки в запис. файле
file2file.write(str(openf.read()))  # запись файла в другой файл
file2file = open("fcopyf.py")  # открываем
print(file2file.read())  # читаем
Добавлено через 1 минуту
https://gist.github.com/DIAMON... bae52cddea

Добавлено через 4 минуты
Тут ещё возможно были задействованы связные списки, точнее связные файлы. Надо реализовать алгоритм взаимодействия между отдельными файлами. Но это следующий шаг.

Добавлено через 18 часов 25 минут
доделал код: теперь 17 строк- комп сразу виснет.

Добавлено через 4 часа 19 минут
После манипуляций с этой программой комп в итоге стал работать лучше) все скрытые процессы убиты. Работает всё быстрее.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
15.08.2016, 08:28
Цитата Сообщение от __py__ Посмотреть сообщение
Как сделать так, чтобы получилась бесконечная рекурсия с переполнением памяти?
Бесконечная рекурсия приводит к переполнению стека, а не памяти.

Цитата Сообщение от __py__ Посмотреть сообщение
Естественно, чтобы программа сама запускалась из рекурсии.
Строго говоря, рекурсия - это запуск некоторой процедуры внутри себя, всё это происходит в одной программе (процессе).

Цитата Сообщение от __py__ Посмотреть сообщение
Такое возможно в python?
Не вопрос.

Цитата Сообщение от __py__ Посмотреть сообщение
В общем программа сама меняет свой код на лету.
Изменение своего кода к рекурсии отношения не имеет.

В общем, учи матчасть.

По описанию похоже на форк-бомбу, ну так её и на pure-С написать можно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.08.2016, 08:28
Помогаю со студенческими работами здесь

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

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

Разработать программу, которая копирует содержимое файла
Разработать программу, которая копирует содержимое файла Х в файл У и выводит содержимое файла У на экран. Текст программы запишите справа.

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

как сделать так, чтобы через программу проходил тест
#include &lt;iostream&gt; using namespace std; int main() { int n; cin &gt;&gt; n; int k = 1; int maxNum =...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru