Python写一个简单的在线编辑器
作者:潘道熹 发布时间:2022-07-26 22:49:17
标签: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;
}
输入测试程序并提交,观察控制台:
控制台上多了个大桃心,成功运行。
来源:https://blog.csdn.net/PanDaoxi2020/article/details/122763331
0
投稿
猜你喜欢
- boto操作import datetimeimport boto.s3.connectionfrom boto.s3.key import
- 本文实现文件分类器的目的主要是为了将办公过程中产生的各种格式的文件完成整理。通过自定义需要整理的文件目录,将该目录下面的全部文件按照文件格式
- PHP程序员玩转Linux系列文章:1.PHP程序员玩转Linux系列-怎么安装使用CentOS2.PHP程序员玩转Linux系列-lnmp
- 提要:系统自带的mysql默认字符集不是gbk,因此给数据库的推广应用以及中文程序的开发带来极大的不便,在没完没了的GBK和UTF8的转换过
- ASPJPEG组件是Persits出品的共享软件,试用期为30天,您可以在这里下载:http://www.persits.com/aspjp
- 在任何编辑器中,获取光标位置都是非常重要的,很多人可能认为较难,其实只要处理好浏览器的兼容,还是比较容易实现的。下面我们一起来看看如何获取到
- python乱序字符串排序什么是乱序字符串排序乱序字符串排序是指一个字符串是另一个字符串的乱序排序,比如apple就是eppal的乱序字符串
- 本文实例讲述了Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法。分享给大家供大家参考,具体如下:前言:想把QQ
- 爬虫与反爬虫,这相爱相杀的一对,简直可以写出一部壮观的斗争史。而在大数据时代,数据就是金钱,很多企业都为自己的网站运用了反爬虫机制,防止网页
- pycharm是一款高效的python IDE工具,它非常强大,且可以跨平台,是新手首选工具!下面我给第一次使用这款软件的朋友做一个简单的使
- python PIL图像处理模块中的ImageDraw类支持各种几何图形的绘制和文本的绘制,如直线、椭圆、弧、弦、多边形以及文字等。下面直接
- 下表列出了所有Python语言支持的逻辑运算符。假设变量a持有10和变量b持有20,则: 示例:试试下面的例子就明白了所有的Pyt
- 1、吃金币源码分享:import osimport cfgimport sysimport pygameimport randomfrom
- 素数是编程中经常需要用到的。作为学习Python的示例,下面是一个高效求解一个范围内的素数的程序,不需要使用除法或者求模运算。#coding
- 加密解密字符串的asp函数,如用于ASP链接地址栏参数的加密,看代码就明白。比如:show.asp?id=DB26538FA54C70E1E
- 这里介绍几个常用的列表操作添加元素添加元素使用列表的内置方法appendnumber = [1, 2, 3, 4]number.append
- 你也许已经掌握了id、class、后台选择器这些基本的css选择器。但这远远不是css的全部。下面向大家系统的解析css中30个最常用的选择
- 前言在进行接口测试时,有些接口字段在不需要测试的时候往往是被写死的,但是你不能保证它就不会出现问题,所以在平时测试的时候就需要覆盖各种情况,
- 今天在做编程题的时候发现Python的print输出默认换行输出,并且输出后有空格。题目要求输出122而我的输出是:122于是我百度查到取消
- 前言随着 Kotlin 1.4 正式发布,关于 SAM 转换的一些问题就可以盖棺定论了。因为这里要讲的都是些旧的东西,所以这是一篇灌水文。K