Python
SHCQMY
这个作者很懒,什么都没留下…
展开
-
Motionbuilder系统文件说明
Motionbuilder 系统路径、配置文件及相应书面原创 2023-03-06 17:57:22 · 706 阅读 · 0 评论 -
Pyside2/Qt 使Slider的背景(Groove)不可点击
Pyside2/Qt 创建背景不可点击的Slider原创 2023-02-23 23:14:05 · 200 阅读 · 0 评论 -
MotionBuilder Python API常用功能写法
MotionBuilder Python API常用功能写法说明原创 2023-01-09 11:35:09 · 1026 阅读 · 1 评论 -
Maya获取材质ShadingEngine信息
获取场景中的ShadingEngine与对应的形状节点信息如果着色器全部由对象分配(不是在面级别),可以使用 sets 命令查询着色组并按着色器分组找到所有对象的列表。命令会返回一个字典,其中着色器作为键,其内容列表作为值:返回值形如:{“SG1”: [“shape_node_1”, “shape_node_2”, “shape_node_3”], “SG2”: [“shape_node_4”, “shape_node_5”]}如果需要寻找特定形状节点的ShadingEngine, 则代码表示如下问题原创 2022-06-29 10:01:35 · 597 阅读 · 0 评论 -
MayaPy编译Pyd
作者:xzq链接:原文链接本文以Windows10,Maya2018为例,以下说的Maya都默认为maya2018,假设maya默认安装在C:\Program Files\Autodesk\Maya2018。1. 为了方便先给maya装上pip。这里使用的是 get-pip.py。下载 get-pip.py 并将它放在比如 d:/mayapyd 文件夹里。用管理员模式打开 cmd,并在 cmd 中输入 d: 回车进入d盘根目录,在输入 cd d:\mayapyd,然后输入 "C:\Program F转载 2022-05-23 20:22:10 · 422 阅读 · 0 评论 -
检查Python脚本是在Maya编辑器内运行或外部运行
问题描述:在开发Maya批处理脚本时,通常会需要两个版本:一个可以在Maya内部的脚本编辑器中执行;另一个在外部独立运行(在后台启动maya进程去执行脚本)那么Maya脚本内部需要对运行环境进行检查。解决方法第一种解决方法是通过 sys.stdout 来查看输出流的类型,如果是在Maya脚本编辑器内部 则类型为 maya.Output,反之则为 Fileimport sysdef is_interactive_maya(): return type (sys.stdout)原创 2022-05-07 12:28:14 · 705 阅读 · 0 评论 -
Qt设置鼠标光标样式
问题描述:有时候我们希望鼠标在进入不同的UI控件的时候切换成不同的样式。解决方法:使用 QWidget.setCursor() 就可以对光标样式进行设置.QWidget.setCursor接受的是一个QCursor类型的对象,在QCursor类型的对象中可以传入Qt预制好的光标样式。举例:my_widget = QtWidgets.Qwidget()my_widget.setCursor(QtGui.QCursor(QtCore.Qt.SizeHorCursor))Qt提供的光标样式和对应原创 2021-04-26 21:54:04 · 4107 阅读 · 0 评论 -
人工智能和设计结合的资源盘点
此文建议收藏,关注公众号:”设计大爆炸“ 并回复 “AI“ 获取共享文档(无图版)地址,之后有新资源会在共享文档中更新。关于人工智能和设计结合的资源盘点,内容比较多建议找一个适合自己的学一下,然后根据想要完成的效果寻找更有针对性的资源学习。1.Generativeartistryhttps://generativeartistry.com/主要讲解生成式设计相关的内容,包括教程和播客,用html+css+javascript编写,可以在codepen查看代码,网站设计非常友好。2.《The Na.转载 2021-02-26 23:41:04 · 339 阅读 · 0 评论 -
windows下python 虚拟环境创建
1. 在文件夹下创建虚拟环境1.1 进入命令行1.2 cd 到 python项目路径1.3 在项目路径下执行下面命名,创建虚拟环境python -m venv <虚拟环境文件夹命名>此时虚拟环境的文件夹已经创建出来了,但是仍然需要激活,否则安装包时,依然是安装在全局环境下。2. 激活虚拟环境激活文件在Scripts文件夹下。激活文件名: activate.bat退出文件名: deactivate.bat激活方式:2.1 进入命令行2.2 cd 到 Scrip原创 2021-01-07 12:14:17 · 456 阅读 · 0 评论 -
Pip安装指定版本的包
只需要使用 {包名}=={版本号}即可例如:想要安装 5.15.0 的 PySide2则命令行的格式如下python -m pip install PySide2==5.15.0原创 2020-12-29 00:03:13 · 1726 阅读 · 0 评论 -
Pycharm PySide2 this application failed to start 错误
需要把 PySide2包的路径加入到环境变量中。import sys,osimport PySide2dirname = os.path.dirname(PySide2.__file__)plugin_path = os.path.join(dirname, 'plugins', 'platforms')os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path# code ....... # .......Stackoverflow原创 2020-12-07 23:55:41 · 242 阅读 · 0 评论 -
Python 计算各个位数不同的数字个数
问题描述:给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n 。解法:回溯法:# -*- coding: utf-8 -*-class Solution(object): def __init__(self): super(Solution, self).__init__() def traceback(self, all_lst, templist, current_n): if len(tem原创 2020-10-12 14:19:53 · 1746 阅读 · 0 评论 -
Python 简化路径
问题描述以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜杠 /。最后一个目录名(如果存在)不能以 / 结尾。此外,规范路径必须是表示绝对路径的最短字符串。原创 2020-09-23 17:02:22 · 406 阅读 · 0 评论 -
python 字符串的排列
问题描述:给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。输入: s1 = “ab” s2 = “eidbaooo”输出: True解释: s2 包含 s1 的排列之一 (“ba”).输入: s1= “ab” s2 = “eidboaoo”输出: False注意:输入的字符串只包含小写字母两个字符串的长度都在 [1, 10,000] 之间解决方法:# 基本思路是 比较 s1中的每个字母在原创 2020-09-23 16:17:16 · 437 阅读 · 0 评论 -
Python 无重复字符的最长子串
问题描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。解答:class Sol原创 2020-09-23 14:05:25 · 692 阅读 · 0 评论 -
Python DP问题 母牛的故事
问题描述:有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?# -*- coding: utf-8 -*-# 当前的牛数 = 上一年的牛数 + 新生的牛数# 新生的牛数 = 三年前的牛数year_count = 5DP_count = [1 for i in range(year_count)]def cow_born(): current_year = 1 while curre原创 2020-09-18 18:58:40 · 567 阅读 · 0 评论 -
Python DP问题 数塔问题
问题描述:在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和 最大是多少?解决方法:# -*- coding: utf-8 -*-# [9]# [12, 15]# [10, 6, 8]# [2, 18, 9, 5]# [19, 7, 10, 4, 16]# DP matrix Recorddef get_max_num(num_tree): row = len(原创 2020-09-18 17:58:27 · 1141 阅读 · 0 评论 -
Python DP算法 龙与地下城游戏问题
问题描述:给定一个二维数组map,含义是一张地图,例如如下,矩阵: -2 -3 3 -5 -10 1 0 30 -5 游戏规则如下: 骑士从左上角出发,每次只能向右或者向下走,最后到达右下角见到公主。地图中每个位置的只代表骑士要遭遇的事。如果是负数,表示此处有怪兽,要让骑士损失血量。如果是非负数,表示此处有血瓶,能让骑士回血。骑士从左上角到右下角的过程,走到任何一个位置,血量都不能少于1。为了保证骑士能顺利见到公主,初始血量至少是多少?根据map,返回初始血量。解法原创 2020-09-18 17:22:35 · 760 阅读 · 0 评论 -
Python 快速排序
def quick_sort(unsort_list): # 基线条件:为空或只包含一个元素的数组是“有序”的 if len(unsort_list) < 2: return unsort_list else: # 递归条件 pivot = unsort_list[0] # 由所有小于基准值的元素组成的子数组 less = [i for i in unsort_list[1:] if i &.原创 2020-09-14 15:54:20 · 87 阅读 · 0 评论 -
Python插入排序
# -*- coding:UTF-8 -*-def insert_sort(unsort_lst): for j in range(1, len(unsort_lst)): i = j while i > 0: if unsort_lst[i] < unsort_lst[i - 1]: unsort_lst[i], unsort_lst[i - 1] = unsort_lst[i - 1].原创 2020-09-13 21:34:53 · 72 阅读 · 0 评论 -
Python选择排序
def select_sort(unsort_list): # 当前指针所在位置 current_index = 0 # 总循环次数 for i in range(len(unsort_list) - 1): # 存储最小值的指针所在位置 min_value_index = 0 # 从头到尾的循环次数 for j in range(current_index, len(unsort_list)): .原创 2020-09-13 19:03:32 · 59 阅读 · 0 评论 -
Python 冒泡排序
def bubble_sort_new(unsort_lst): n = len(unsort_lst) # 一共循环的次数 for j in range(n - 1): # 单次循环从头走到尾 for i in range(0, n - 1 - j): if unsort_lst[i] > unsort_lst[i + 1]: unsort_lst[i], unsort_lst[i.原创 2020-09-12 21:31:30 · 57 阅读 · 0 评论 -
Python 归并排序算法
归并算法理解假设有一个序列:merge_sort: 54 26 93 17 77 31 44 55对半拆分,拆到每个部分的都只有一个元素:54 26 93 17 | 77 31 44 5554 26 | 93 17 | 77 31 | 44 5554 | 26 | 93 | 17 | 77 |31 | 44 | 55进行合并。合并后小的在前,大的在后26 54 | 17 93 | 31 77 | 44 5526 54 | 17 93 | 31 77 | 44 5526 54 | 17 9原创 2020-05-27 10:29:38 · 192 阅读 · 0 评论 -
Python 时间相关模块
时间相关的模块主要有以下几种使用场景日志管理必然会记录时间统计程序执行开始、结束时间测试一个函数的执行时长time 模块time 模块提供两种时间表达方式:假定一个零点基准,偏移长度换算为按秒的数值型由9个整数组成的元组 struct_time 表示的时间当前时间浮点数import time# 返回时间浮点数seconds = time.time()时间数组local_time = time.localtime(seconds)时间字符串# 把时间数组转换为时原创 2020-05-23 19:48:59 · 211 阅读 · 0 评论 -
Python os 文件操作模块
读文件def read_file(filename,encode='utf-8'): # 先判断文件是否存在 if not os.path.exists(filename): raise FileNotFoundError('{} not exists'.format(filename)) with io.open(filename, 'r', encoding=encode) as f: content = f.read() ret原创 2020-05-22 14:47:00 · 150 阅读 · 0 评论 -
Python re正则模块
问题描述:对于比较复杂的字符串处理任务,需要依靠正则表达式。使用流程:首先需要导入 re 模块import re常用的元字符符号含义.匹配除 “\n” 和 “\r” 之外的任何单个字符。^匹配字符串开始位置$匹配字符串结束位置*前面的元素重复0次,1次或多次?前面的元素重复0次或1次+前面的元素重复1次或多次{n}前面的元素出现了n次{n, }前面的元素至少出现n次{n. m}前面的元素出现的次数介于n-原创 2020-05-21 12:24:45 · 124 阅读 · 0 评论 -
Python函数原型的符号
问题描述max(iterable, *[, key, default])对于Python的内置函数 max , 它的形参中既包含了 * 还有 []那么这些符号有什么具体含义呢?函数原型1. *函数形参列表中的符号 * 表示后面的形参只能是关键字参数 (keyword argument),也就是传入实参的时候必须使用变量名=实参key = lambda x : a.count(x)def f(a, *, b): ''' 形参b 在*号后面意味着b只能是关键字参数 ''' p原创 2020-05-19 18:46:39 · 582 阅读 · 0 评论 -
使用 sorted() 为元素为列表的列表进行排序
问题描述:需要对一个形如lst = [['1', '2'], ['2', '1'], ['2', '2'], ['4', '4'], ['2', '4'], ['3', '3'], ['2', '5'], ['1', '1'], ['4', '10'], ['1', '3'], ['10', '10'], ['5', '10'], ['3', '5'], ['4', '6'], ['4', '1'], ['8', '8']]的列表进行排序。要求子列表的排序是按照子列表中第一个元素和第二个元素的数原创 2020-05-16 12:23:30 · 683 阅读 · 0 评论