File size: 2,115 Bytes
5784f1c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import gradio as gr

def generate_code(language, task):
    # Простые шаблоны для генерации кода
    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}"
        }
    }
    
    # Получаем код по языку и задаче
    code = templates.get(language, {}).get(task, "Code template not found.")
    return code

# Создаем интерфейс Gradio
iface = gr.Interface(
    fn=generate_code,
    inputs=[
        gr.Dropdown(choices=["Python", "JavaScript", "Java"], label="Выберите язык программирования"),
        gr.Dropdown(choices=["Hello World", "Factorial", "Fibonacci"], label="Выберите задачу")
    ],
    outputs=gr.Code(label="Сгенерированный код"),
    title="Генератор кода",
    description="Выберите язык программирования и задачу для генерации кода."
)

# Запускаем интерфейс
iface.launch()