猫史档案馆


【Python作品分享】pyeasydraw【求助帖】

用户:郭若垚0Hv4郭若垚0Hv4查看:0 回复:0 评论:0 创建时间:2022-02-25T21:19:43


【作品展示】

center_image

 

【作品介绍】

一个小量的绘画模块(在控制台)

 

【作品源代码】

"""
最好用IDLE进行测试(可以输出红色),
只要指定内容、长(width)、宽(height),就可已输出了。

版权
名字:郭若垚
邮箱喵试:
>>> import pyeasydraw
>>> a = pyeasydraw.Art()
>>> a.run()
**********
**********
**********
**********
**********
**********
**********
**********
**********
**********
"""
import random  # 随机
import sys  # 用红色输出

__version__ = "0.0.1"
__all__ = ["Art", "new_line"]


class Art:
        def __init__(self, height=10, width=10, string: (str, tuple) = "*", end: str = " ", stochastic=False, red=False, stochastic_color=False, raw_color=False):
               self.height = height  # 高度
                self.width = width  # 宽度
                self.string = string  # 输出内容
                self.end = end  # 末尾
                self.stochastic = stochastic  # 是否随机
                self.red = red  # 是否是红色
                self.stochastic_color = stochastic_color  # 是否随机颜色
                self.raw_color = raw_color  # 有规律的颜色
                self.data = {
			"Height": height,
			"Width": width,
                        "String": string,
			"End": end,
			"Stochastic": stochastic,
			"Red": red,
                        "Stochastic_color": stochastic_color,
                        "Raw_color": raw_color
                    }  # 用来存放数据

        def run(self):
               """
进行输出程序
                """
                for a in range(self.height):  # 从高度开始
                       for x in range(self.width):  # 再从宽开始
                               if self.stochastic:  # 如果是随机
                                       g = random.choice(self.string)  # 随机抽选
                                elif type(self.string) == tuple:
                                       g = self.string[x % len(self.string)] # 按顺序输出
                                else:
                                       g = self.string # 就选这个
                                if self.stochastic_color:  # 如果是随机颜色
                                        w = random.choice([0, 1]) # 随机选颜色
                                        if w == True:  # 如果是红色
                                               sys.stderr.write(str(g)+str(self.end)) # 用错误(红色)输出
                                        else:
                                               print(str(g), end=str(self.end)) # 用print(蓝色)输出

                                elif self.red:  # 如果是红色
                                       sys.stderr.write(str(g)+str(self.end)) # 用错误(红色)输出
                                elif self.raw_color:
                                       if x % 2 == 0:
                                               print(str(g), end=str(self.end)) # 用print(蓝色)输出
                                        else:
                                               sys.stderr.write(str(g)+str(self.end)) # 用错误(红色)输出
                                else:
                                       # 用print(蓝色)输出
                                       print(str(g), end=str(self.end))

                        print("")  # 换一行

        def set_data(self):
               """
把参数设置为data中的参数
                """
                #用data设定参数
                self.height = self.data["Height"]
                self.width = self.data["Width"]
                self.string = self.data["String"]
                self.end = self.data["End"]
                self.stochastic = self.data["Stochastic"]
                self.red = self.data["Red"]
                self.stochastic_color = self.data["Stochastic_color"]
                self.raw_color = self.data["Raw_color"]

        def reset_data(self):
               """
把data设置为参数中的参数
                """
                #把参数改为data
                self.data["Height"] = self.height
                self.data["Width"] = self.width
                self.data["String"] = self.string
                self.data["End"] = self.end
                self.data["Stochastic"] = self.stochastic
                self.data["Red"] = self.red
                self.data["Stochastic_color"] = self.stochastic_color
                self.data["Raw_color"] = self.raw_color
def new_line(string="*", width=20, red=False, space=True):
    """
换一行执行新的程序
    """
    a = Art(red=red)  # 一个art
    if space:
        a.end = " "
    else:
        a.end = ""
    a.string = string  # 设置字
    a.width = width  # 设置宽
    a.height = 1  # 设置高
    a.run()  # 运行


def main():
    r = Art(10, 10)
    r.run()

    #new_line()
if __name__ == "__main__":
	main()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页