用户:
勇敢小豆豆查看:0 回复:0 评论:0 创建时间:2022-11-30T15:55:40
【作品展示】

【作品介绍】
Name1.x全新更新,新增单字母名的变量定义,其他功能,敬请期待
【作品源代码】
import os
import sys
import random
import math
import time
"""\\name(1.8.6)python IDLE\\"""
# 编写变量
code = 0
sj = ""
var_list = {"return_var": {}, "private_var": {}, }
list_list = {}
dict_list = {}
# 报错函数
def Error(error_type):
print('Code Errror')
if error_type == 1:
print("name(1.8.6)>main>'ImportError'")
elif error_type == 2:
print("name(1.8.6)>main>'ValueError'")
elif error_type == 3:
print("name(1.8.6)>main>'NameError'")
elif error_type == 4:
print("name(1.8.6)>main>'TypeError'")
elif error_type == 5:
print("name(1.8.6)>main>PackageError")
elif error_type == 6:
print("name(1.8.6)>main>FunctionError")
# 代码输入函数
def put_in():
a = input("{} {}{}" .format(code+1, ">>> ", sj))
return a
def var(name, value, typy):
# 变量已存在检测
if name in var_list["return_var"]:
Error(2)
print("system return var can't be other word")
else:
var_list["private_var"][name] = [value, "private", typy]
print(var_list)
# 代码函数准备
"""main公用化检测"""
main = False
while main == False:
a = input("{}{}".format(code+1, " >>> "))
if a == "main.public()":
main = True
code += 1
else:
Error(5)
code += 1
# 定义main程序主方法(此方法为程序强制)
class_main = False
while class_main == False:
a = input("{}{}".format(code+1, " >>> "))
if a == "class main(public):":
code += 1
class_main = True
sj = " "
else:
Error(6)
code += 1
# 代码编译
# 主循环
while True:
b = put_in()
code += 1
# 输出方法
if "main.put.out(" in b and ")" in b:
# 正常情况
if b.count('"') == 2:
if b == 'main.put.out("")':
Error(2)
continue
else:
print(b[14:len(b)-2])
# 空输入情况
elif b == 'main.put.out()':
Error(2)
print("main only can print str and var")
continue
# 打印变量
else:
value = b[13:len(b)-1]
if value in var_list["return_var"] or value in var_list["private_var"]:
print(1)
if value in var_list["return_var"]:
print(2)
print(var_list["return_var"][value][0])
else:
if var_list["private_var"][value][2] == "public":
print(var_list["private_var"][value][1])
print(3)
else:
Error(2)
continue
else:
Error(1)
continue
# 输入方法
elif 'main.get.in("' in b and '")' in b or "None" in b:
if "None" in b:
get_in = put_in()
var_list["return_var"]["get_in"] = [get_in, "public", "str"]
else:
input_value = b[13:len(b)-2]
get_in = input(input_value)
var_list["return_var"][input_value] = [get_in, "public", "str"]
# 清空控制台
elif b == "main.clear()":
os.system("cls")
code = 0
# 关闭程序
elif b == "main.quit()":
time.sleep(0.8)
print("name(1.8.6) main quit")
print("name(1.8.6) IDLE exit")
print("name(1.8.6) IDLE window close")
time.sleep(0.8)
break
# 语言版本号
elif b == "main.version()":
var_list["return_var"]["version_num"] = ['''/Name 1.8.6
/Main 2.3.1/
/Nana 1.2.5/''', "public", "str"]
# 注释
elif b[0:3] == "// ":
continue
# 空行
elif b == "":
continue
# 自定义数据
elif "def" in b:
"""变量定义"""
if b[0:8] == "def var ":
# 名字首位位数字判断
num_list = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
if b[9] in num_list:
Error(3)
print("main var name first word can't be a number")
continue
else:
# 单字母变量名检测
if len(b[9:b.index("=")]) == 1:
var_name = b[8]
var_value = b[b.index("=")+2:len(b)+1]
# 字符串判断
if '"' in b:
if b[len(b)-1] == '"' and var_value[0] == '"':
var(var_name, var_value, "str")
continue
else:
Error(2)
print('''str '"' use error''')
continue
# 布尔值
elif var_value == "Ture" or var_value == "False":
var(var_name, var_value, "bool")
continue
# 数字型
else:
num_num = 0
error_num = 0
for i in var_value:
if i in num_list:
num_num += 1
else:
pass
if error_num == 0:
var(var_name, var_value,"int")
continue
elif error_num > 0 and num_num > 0:
var(var_name, var_value,"float")
continue
else:
Error(5)
else:
Error(3)
print("main don't have", b)
continue
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn