Python做一个简单的在线编辑器[通俗易懂]

Python做一个简单的在线编辑器[通俗易懂]Python做一个简单的在线编辑器

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

祝大家新年快乐,虎年大吉,诸事顺利!

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。

ERROR:tornado.application:Exception in callback functools.partial(<bound method IOLoop._discard_future_result of <tornado.platform.asyncio.AsyncIOMainLoop object at 0x0000025DC4382AC8>>, <Task finished coro=<start_server_in_current_thread_session.<locals>.wait_to_stop_loop() done, defined at D:\python\lib\site-packages\pywebio\platform\tornado.py:420> exception=AttributeError("module 'asyncio' has no attribute 'all_tasks'",)>)
Traceback (most recent call last):
  File "D:\python\lib\site-packages\tornado\ioloop.py", line 741, in _run_callback
    ret = callback()
  File "D:\python\lib\site-packages\tornado\ioloop.py", line 765, in _discard_future_result
    future.result()
  File "D:\python\lib\site-packages\pywebio\platform\tornado.py", line 440, in wait_to_stop_loop
    tasks = [t for t in asyncio.all_tasks() if t is not asyncio.current_task() and not t.done()]
AttributeError: module 'asyncio' has no attribute 'all_tasks'

测试程序,直接运行第一个,输入一段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://javaforall.net/170435.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 八图h5怎么发给朋友_最酷h5场景

    八图h5怎么发给朋友_最酷h5场景八图h5提供海量h5模板、邀请函、企业宣传、婚礼、会议会展、求职招聘等场景模板,在线一键生成微信邀请函、八图h5全网邀请函在线制作最优惠平台。  为什么场景化h5影响,能在朋友圈火起来?其实纵观这些能引爆朋友圈的H5,无非有以下特点!  1、会讲故事  h5场景说到底就是个新的页面技术,如何玩转h5,主要还是营销和创意,创意其实就是要会说故事,能把故事说好。h5里面整体故事有…

    2025年8月2日
    3
  • java文件转码工具-native2ascii.exe命令简介

    java文件转码工具-native2ascii.exe命令简介native2ascii.exe简介java的转码工具,需要java.dll动态库和相关程序才能执行。native2ascii.exe是Java的一个文件转码工具,是将特殊各异的内容转为用指定的编码标准文体形式统一的表现出来,它通常位于JDK_home\bin目录下,安装好JavaSE后,可在命令行直接使用native2ascii命令进行转码。JDK自带的工具native2ascii可以将uncode编码的文件转换为本地编码的文件,但是不能批量转换文件。native2ascii.

    2025年9月4日
    6
  • spidermonkeys_monkeymonkey

    spidermonkeys_monkeymonkey和其他的JavaScript引擎一样,SpiderMonkey不直接提供像DOM这样的对象,而是提供解析,执行JavaSccript代码,垃圾回收等机制。SpidlerMonkey是一个在Mozilla之下的开源项目,要使用SpiderMonkey,需要下载其源码,然后编译为静态/动态库使用。要在自己的应用程序中使用SpiderMonkey,首先需要了解以下三个核心

    2022年10月17日
    2
  • Oracle联合索引

    Oracle联合索引Oracle联合索引分类:Oracle2012-12-0809:352110人阅读评论(0)收藏举报我现在用的是oracle9i1.一个表建立多少个索引比较合适?比如说不大于5个这个没有定论,楼主要综合查询效率和dml效率自己确定,索引可以加快select的查询速度,但也会降低delete,insert和update等dml语句的执行速度。2.联…

    2022年5月26日
    122
  • qt没有被正确安装_qt软件安装步骤

    qt没有被正确安装_qt软件安装步骤对于太长不看的朋友,可参考Qt的安装和使用中的常见问题(简略版)。目录1、概述2、Qt简介3、Qt版本3.1查看安装的Qt版本3.2查看当前项目使用的Qt版本3.3查看当前项目使用

    2022年8月1日
    5
  • 鸿蒙系统手机电脑互传文件,华为手机怎么与电脑互传文件(Huawei Share教程

    鸿蒙系统手机电脑互传文件,华为手机怎么与电脑互传文件(Huawei Share教程未经允许 如果我想把手机的相册传到电脑上 9 接着按照电脑的提示 就必须通过 HuaweiShare 进行互传 如果对您有所帮助 END 注意事项本经验由作者 梦想快男 原创 5 在此电脑中的搜索框内输入网络 6 点击带有 HONOR 类似的前缀的图标 或是说电脑需要接收华为手机传送的文件 2 打开手机状态栏 通过手机可以知道用户名和密码 即可通过华为手机和电脑互传文件了 然后点击复制 需

    2025年11月5日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号