Coder / app.py
Doubleupai's picture
Create app.py
5784f1c verified
raw
history blame
2.12 kB
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()