猫史档案馆


【Python作品分享】新的作品

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


【作品展示】

center_image

 

【作品介绍】

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


回复

上一页1 页 / 共 0下一页