Spaces:
Build error
Build error
| import gradio as gr | |
| def generate_code(language, task_description): | |
| # Простые шаблоны для генерации кода | |
| templates = { | |
| "Python": { | |
| "Hello World": "print('Hello, World!')", | |
| "Factorial": "def factorial(n):\n return 1 if n == 0 else n * factorial(n-1)", | |
| "Fibonacci": "def fibonacci(n):\n if n <= 1:\n return n\n else:\n return fibonacci(n-1) + fibonacci(n-2)" | |
| }, | |
| "JavaScript": { | |
| "Hello World": "console.log('Hello, World!');", | |
| "Factorial": "function factorial(n) {\n return n === 0 ? 1 : n * factorial(n - 1);\n}", | |
| "Fibonacci": "function fibonacci(n) {\n if (n <= 1) return n;\n return fibonacci(n - 1) + fibonacci(n - 2);\n}" | |
| }, | |
| "Java": { | |
| "Hello World": "public class Main {\n public static void main(String[] args) {\n System.out.println(\"Hello, World!\");\n }\n}", | |
| "Factorial": "public class Main {\n public static int factorial(int n) {\n return n == 0 ? 1 : n * factorial(n - 1);\n }\n}", | |
| "Fibonacci": "public class Main {\n public static int fibonacci(int n) {\n if (n <= 1) return n;\n return fibonacci(n - 1) + fibonacci(n - 2);\n }\n}" | |
| } | |
| } | |
| # Поиск подходящего шаблона на основе описания задачи | |
| task_description = task_description.lower() | |
| for task, code in templates.get(language, {}).items(): | |
| if task.lower() in task_description: | |
| return code | |
| # Если задача не найдена | |
| return "Код для данной задачи не найден. Попробуйте описать задачу более четко." | |
| # Создаем интерфейс Gradio | |
| iface = gr.Interface( | |
| fn=generate_code, | |
| inputs=[ | |
| gr.Dropdown(choices=["Python", "JavaScript", "Java"], label="Выберите язык программирования"), | |
| gr.Textbox(label="Опишите задачу", placeholder="Например, 'напиши код для вычисления факториала'") | |
| ], | |
| outputs=gr.Code(label="Сгенерированный код"), | |
| title="Генератор кода", | |
| description="Выберите язык программирования и опишите задачу для генерации кода." | |
| ) | |
| # Запускаем интерфейс | |
| iface.launch() |