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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SQL Server 2000安装教程图解

    SQLServer2000安装教程图解、、、下面网盘链接中的SQL2000数据库在Win7和Win10系统上安装都是可以正常使用的,只不过是Win10上安装的话,需要先替换一下原来C盘中的一个文件而已怎么替换请参考这个:http://www.cnblogs.com/iLoveBurning/p/8639711.html此版本针对XP和Win7系统的,Win…

    2022年4月6日
    39
  • maven打包常用命令总结

    maven打包常用命令总结maven打包常用命令总结基本命令介绍1、mvnclean2、mvncompile3、mvnpackage4、mvninstall5、mvndeploy生产环境打包举例1、生产环境根据源码构建项目:2、可用用到的其他mvn参数介绍:开发过程中常见以下几个命令,这些命令执行后程序究竟发生了什么变化?生产环境如果使用shell脚本配置jenkins构建项目,如何使用命令呢?下面介绍一下我常…

    2022年6月4日
    46
  • 海量数据处理思路「建议收藏」

    海量数据处理思路「建议收藏」海量数据处理思路海量数据处理海量数据,不能一次加载到内存中海量数据topK(最大和最小k个数),第k大,第k小的数海量数据判断一个整数是否存在其中海量数据找出不重复的数字找出A,B两个海量url文件中共同的url海量数据topK最大K使用最小堆,最小K使用最大堆,这里以最大K为例海量数据hash分块维护最小堆的K个数据的数据容器堆中数据是topK大的数据,堆顶的数据是第K大数据先将海量数据hash再取模m,分成m个小文件,hash(num)%m,也可以直接取模在

    2022年6月23日
    19
  • Python安装pymssql「建议收藏」

    Python安装pymssql「建议收藏」Python安装pymssql(v2.1.3)pymssql下载地址:https://pypi.python.org/pypi/pymssql/python2.7×32版本下pymssql的安装:如果使用2.1.1版本:https://pypi.python.org/pypi/pymssql/2.1.1#downloads,下载时选择pymssql-2.1.1.win32-py2.7.exe

    2022年6月15日
    143
  • 笔试逻辑推理选择题_应聘逻辑测试题目及答案

    笔试逻辑推理选择题_应聘逻辑测试题目及答案【笔试面试】75道逻辑推理题及答案更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com啰嗦:昨天公司开全球研发中心实习生沟通会,其中有个环节是做逻辑推理竞猜,还是得平时

    2022年8月4日
    13
  • 04 _ 可扩展架构案例(一):电商平台架构是如何演变的?[通俗易懂]

    04 _ 可扩展架构案例(一):电商平台架构是如何演变的?[通俗易懂]本章,我就针对最近十几年电商平台的架构变化过程,来具体说明下,为了支持业务的快速发展,架构是如何一步步演进的。从2003年淘宝上线开始,国内电商平台经历了高速的发展,在这个过程中,系统遇到了很多的挑战,比如说:如何针对当前的业务现状,选择合适的架构呢?如何在业务发展过程中,升级改造架构,并保证系统的平滑过渡呢?接下来,我会结合自己的工作实践,和你一起探讨架构的演变历程,你可以从中了解到各种架构的优劣点和适用性,然后在实际工作中选择合适的架构。这里,我总结了国内电商平台架构发展的大致过程,你可以结合图片

    2022年6月16日
    29

发表回复

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

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