Search
Write a publication
Pull to refresh

ИИ напишет код за вас

Привет, Хабр! Сегодня я расскажу вам о ИИ который заменит работу программистов! Конечно же это не так, но ИИ может заменить программиста в рутинных задачах, например написании функции по вычислению факториала или создания простого графического приложения.

Все знают о GitHub Copilot и ChatGPT от OpenAI который недавно научился писать код по одному лишь описанию, но я расскажу о CodeSquire, статьи о котором я не нашел на хабре и в принципе, его довольно редко упоминают. К сожалению, я так и не понял как использовать его в Visual Studio Code, но зато вы можете свободно использовать его в Google Colab, BigQuery или JupyterLab. Для этого нужно зарегестрироваться на их сайте и установить расширение в Chrome.

После чего вы можете начать писать код (или написать комментарий с описанием действий) к примеру в Google Colab, а далее ИИ предложит продолжение комментария или кода, вам останется лишь нажать Tab.

Допустим скормим ему такой комментарий: "function that calculates the factorial of n", он предложит такой код:

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)

Давайте изменим комментарий и попросим его использовать цикл while: "function that calculates the factorial of n using while", вот такой код он написал:

def factorial_while(n):
    factorial = 1
    while n > 0:
        factorial *= n
        n -= 1
    return factorial
  

Давайте импортируем tkinter и попросим написать его простейшее графическое приложение с вводом числа и вычислением его факториала. Самое крутое что ИИ уже понимает что я хочу по функции factorial_while и импорту tkinter'а! Вот такой комментарий мы написали совместно с codesquire: "simple tkinter app that input a number and outputs the factorial of that number". Код написанный ИИ:

class Factorial_while(tk.Tk):
    def __init__(self):

        super().__init__()

        self.title("Factorial using while")
        self.geometry("300x100")
        self.resizable(False, False)
        self.label = tk.Label(self, text="Enter a number:")

        self.label.pack()

        self.entry = tk.Entry(self)
        self.entry.pack()
        self.button = tk.Button(self, text="Calculate", command=self.calculate)
        self.button.pack()
        self.label_result = tk.Label(self, text="")

        self.label_result.pack()
        self.mainloop()
    def calculate(self):

        try:

            n = int(self.entry.get())
            factorial = factorial_while(n)
            self.label_result.configure(text=factorial)
        except ValueError:
            self.label_result.configure(text="Please enter a number")

        except ZeroDivisionError:

            self.label_result.configure(text="Please enter a number greater than 0")
        except:

            self.label_result.configure(text="Something went wrong")
        finally:

            self.entry.delete(0, tk.END)
            self.entry.focus()

Factorial_while()

Код обсалютно рабочий, к тому же ИИ решил использоавть класс, хоть я и не просил об этом.

Заключение: CodeSquire крутой ИИ, который может помочь в написании простой программы или выполнить рутинные задачи в сложной программе, например выделить какие-то значение из базы данных через sqlite3. К сожалению, как я понял, данный ИИ работает только с Python и SQL и не может писать код например на JavaScript.

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.