当前位置:   article > 正文

AI代码神器——AICodeConvert_ai code

ai code

项目地址:AI Code Converter | AI Code Translator | AI Code Generator 

AI Code Converter人工智能代码翻译器)是一个AI代码翻译器,使用AI将代码或自然语言转换为编程语言代码,也就是说,可以将自然语言翻译成任何一种编程语言,或者将一门编程语言转换成另一种编程语言,不用代码编程知识的小白也可以写代称程序了,而且还是一个免费的工具。

 

主要包含两个功能:

1 AICodeGenerator

输入自然语言,然后 AI 输出代码

 例如写一个 Python 的课程设计作业,计算器,描述计算器的组件之后,生成如下的代码:

  1. import tkinter as tk
  2. def calculate():
  3. num1 = float(entry_num1.get())
  4. num2 = float(entry_num2.get())
  5. operator = entry_operator.get()
  6. if operator == '+':
  7. result = num1 + num2
  8. elif operator == '-':
  9. result = num1 - num2
  10. elif operator == '*':
  11. result = num1 * num2
  12. elif operator == '/':
  13. result = num1 / num2
  14. else:
  15. result = "Invalid operator"
  16. label_result.config(text="Result: " + str(result))
  17. root = tk.Tk()
  18. root.title("Calculator")
  19. label_title = tk.Label(root, text="Calculator")
  20. label_title.pack()
  21. frame_inputs = tk.Frame(root)
  22. frame_inputs.pack()
  23. label_num1 = tk.Label(frame_inputs, text="Number 1:")
  24. label_num1.grid(row=0, column=0)
  25. entry_num1 = tk.Entry(frame_inputs)
  26. entry_num1.grid(row=0, column=1)
  27. label_operator = tk.Label(frame_inputs, text="Operator:")
  28. label_operator.grid(row=1, column=0)
  29. entry_operator = tk.Entry(frame_inputs)
  30. entry_operator.grid(row=1, column=1)
  31. label_num2 = tk.Label(frame_inputs, text="Number 2:")
  32. label_num2.grid(row=2, column=0)
  33. entry_num2 = tk.Entry(frame_inputs)
  34. entry_num2.grid(row=2, column=1)
  35. button_calculate = tk.Button(root, text="Calculate", command=calculate)
  36. button_calculate.pack()
  37. label_result = tk.Label(root, text="Result: ")
  38. label_result.pack()
  39. root.mainloop()

2 AICodeTranslator

输入代码,然后选择目标代码语言,利用 AI 生成目标语言的代码

支持的快捷键有:

  • Java
  • Python
  • 几乎全部语言

例如,我们把上面的代码转为 Java 实现,只需要在目标语言选择 Java,然后点击【Generate】按钮,生成如下代码:

  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. public class Calculator {
  6. private JFrame frame;
  7. private JLabel labelTitle;
  8. private JPanel panelInputs;
  9. private JLabel labelNum1;
  10. private JTextField entryNum1;
  11. private JLabel labelOperator;
  12. private JTextField entryOperator;
  13. private JLabel labelNum2;
  14. private JTextField entryNum2;
  15. private JButton buttonCalculate;
  16. private JLabel labelResult;
  17. public Calculator() {
  18. frame = new JFrame();
  19. frame.setTitle("Calculator");
  20. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  21. frame.setLayout(new FlowLayout());
  22. labelTitle = new JLabel("Calculator");
  23. frame.add(labelTitle);
  24. panelInputs = new JPanel();
  25. panelInputs.setLayout(new GridLayout(3, 2));
  26. labelNum1 = new JLabel("Number 1:");
  27. panelInputs.add(labelNum1);
  28. entryNum1 = new JTextField();
  29. panelInputs.add(entryNum1);
  30. labelOperator = new JLabel("Operator:");
  31. panelInputs.add(labelOperator);
  32. entryOperator = new JTextField();
  33. panelInputs.add(entryOperator);
  34. labelNum2 = new JLabel("Number 2:");
  35. panelInputs.add(labelNum2);
  36. entryNum2 = new JTextField();
  37. panelInputs.add(entryNum2);
  38. frame.add(panelInputs);
  39. buttonCalculate = new JButton("Calculate");
  40. buttonCalculate.addActionListener(new ActionListener() {
  41. @Override
  42. public void actionPerformed(ActionEvent e) {
  43. calculate();
  44. }
  45. });
  46. frame.add(buttonCalculate);
  47. labelResult = new JLabel("Result: ");
  48. frame.add(labelResult);
  49. frame.pack();
  50. frame.setVisible(true);
  51. }
  52. private void calculate() {
  53. double num1 = Double.parseDouble(entryNum1.getText());
  54. double num2 = Double.parseDouble(entryNum2.getText());
  55. String operator = entryOperator.getText();
  56. double result;
  57. if (operator.equals("+")) {
  58. result = num1 + num2;
  59. } else if (operator.equals("-")) {
  60. result = num1 - num2;
  61. } else if (operator.equals("*")) {
  62. result = num1 * num2;
  63. } else if (operator.equals("/")) {
  64. result = num1 / num2;
  65. } else {
  66. result = Double.NaN;
  67. }
  68. labelResult.setText("Result: " + result);
  69. }
  70. public static void main(String[] args) {
  71. SwingUtilities.invokeLater(new Runnable() {
  72. @Override
  73. public void run() {
  74. new Calculator();
  75. }
  76. });
  77. }
  78. }

3 AICodeExplain

输入代码,然后右侧选择【Natural Language】,可以解释这段代码

分享一个[开源]写代码神器AICodeConvert | AICodeTranslator | AICodeGenerator | 程序员论坛 (learnku.com)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/544156
推荐阅读
相关标签
  

闽ICP备14008679号