好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Python写一个简单的在线编辑器

直接奔入主题看下面 pywebio 程序,实现了Python的简陋在线编辑器

from pywebio.input import *
from pywebio.output import put_text
from os import system,remove
try:
? ? code = textarea('Code Edit Online', code={'mode': "python",'theme': 'darcula'}, value='# input your code here\n')
? ? with open('temp.py','w',encoding = 'utf-8') as f:
? ? ? ? f.write(code)
? ? system('python temp.py')
? ? put_text('成功运行程序')
except Exception as e:
? ? put_text('运行:错误 at %s' % e)

主要使用了 pywebio 程序,实现了Python的简陋在线编辑器。
相对C++编辑器就比较复杂,需要调用g++.exe,可能在您的电脑上,就不见得能用了,需要把Dev-C++安装到我这个位置,程序才可以运行,您可以修改程序。

from pywebio.input import *
from pywebio.output import put_text
from sys import path
from os import system,remove
try:
? ? system('chcp 65001 >nul')
? ? code = textarea('Code Edit Online ( C++ )', code={'mode': "python",'theme': 'darcula',}, value='// input your code here.\n')
? ? with open('temp.cpp','w',encoding='utf-8') as f:
? ? ? ? f.write(code)
? ? put_text('成功运行程序')
? ? system(r'D:\Dev-C++\Dev-cpp\MinGW64\bin\g++.exe "%s\temp.cpp" -o "%s\temp.exe" && call "%s\temp.exe" && pause' % (path[0],path[0],path[0]))
? ? remove('temp.cpp')
? ? remove('temp.exe')
except Exception as e:
? ? put_text('运行:错误 at %s' % e)

运行时会报一个错,不用管它,跟咱们的程序无关。如果不是这个错,那就是您的程序有 BUG 。

from pywebio.input import *
from pywebio.output import put_text
from sys import path
from os import system,remove
try:
? ? system('chcp 65001 >nul')
? ? code = textarea('Code Edit Online ( C++ )', code={'mode': "python",'theme': 'darcula',}, value='// input your code here.\n')
? ? with open('temp.cpp','w',encoding='utf-8') as f:
? ? ? ? f.write(code)
? ? put_text('成功运行程序')
? ? system(r'D:\Dev-C++\Dev-cpp\MinGW64\bin\g++.exe "%s\temp.cpp" -o "%s\temp.exe" && call "%s\temp.exe" && pause' % (path[0],path[0],path[0]))
? ? remove('temp.cpp')
? ? remove('temp.exe')
except Exception as e:
? ? put_text('运行:错误 at %s' % e)

测试程序,直接运行第一个,输入一段Python代码:

maxNumber = 100
numbers = []
min = 2
numberSum = 0
for i in range(1,101):
? ? numbers.append(i)
? ??
while min <= maxNumber:
? ? is_prime = True
? ? for i in range(2,min):
? ? ? ? if (min % i) == 0:
? ? ? ? ? ? is_prime = False
? ? ? ? ? ? break
? ? if is_prime == True:
? ? ? ? numbers.remove(min)
? ? min += 1
print(numbers)

点击蓝色按钮,观察控制台:

成功。

再测C++,测试代码如下(C++:画桃心):

// Author:PanDaoxi
#include <iostream>
using namespace std;
int main(){
?? ?for(double y=1.5;y>-1.5;y-=0.1){
?? ??? ?for(double x=-1.5;x<1.5;x+=0.05){
?? ??? ??? ?double a=x*x+y*y-1;
?? ??? ??? ?char b=(a*a*a-x*x*y*y*y<=0.0?'*':' ');
?? ??? ??? ?cout<<b;
?? ??? ?}
?? ??? ?cout<<endl;
?? ?}
?? ?
?? ?return 0;
}

输入测试程序并提交,观察控制台:

控制台上多了个大桃心,成功运行。

到此这篇关于Python写一个简单的在线编辑器的文章就介绍到这了,更多相关Python写线编辑器内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

查看更多关于Python写一个简单的在线编辑器的详细内容...

  阅读:51次