以字符串长度来归类

import sys
def changdu(a):
    b1 = []
    b2 = []
    b3 = []

    for k in a:
        k1 = len(k)
        if(k1 <= 3):
            b1.append(k)
        elif(k1 <= 10):
            b2.append(k)
        elif(k1 > 10):
            b3.append(k)
    print('字符串长度小于或等于3的有',','.join(b1))
    print('字符串长度小于或等于10的有',','.join(b2))
    print('字符串长度大于10的有',','.join(b3))

  #  print('字符串长度小于或等于3的有',b1,'字符串长度小于或等于10的有',b2,'字符串长度大于10的有',b3)

a = sys.argv[1:]
changdu(a)
~                                              

求一个数字是否是一个平方数

# coding=utf-8
import sys
def pingfang(n):
    result = False
    for k in range(0, n + 1):
        if(n == k**2):
            result =True
            break
    if(result):
        print('这是一个平方数')
    else:
        print('这不是一个平方数')

#取命令行第1号参数。注意,第0号参数就是被执行的文件名。命令行执行示例 python zhishu.py 100,则这里a = '100'
a = sys.argv[1]
#这是做强制类型转化,因为a是字符串类型,而后面的函数只接受自然数为参数。'100' -> 100
a1 = int(a)
#执行函数
zhishuqiuhe(a1)
~                                                                                                                       ~                     

已知长宽和中心点,求四个角坐标和转换机代码,用仿真CNC把长方形面积挖出来

def createPocket(width,length,toolDiameter,center):
resultPoints = []
while(min(width, length) > toolDiameter):
width = width - toolDiameter/2
length = length - toolDiameter/2
currentPoints = biankuan(length, width, center)
resultPoints = resultPoints + currentPoints
p = [i for i in resultPoints[0]]
p[2] = p[2]+20
p = [p]
i = [i for i in resultPoints[-1]]
i[2] = i[2]+20
i = [i]
gCode0 = moveTool2(0, p)
gCode1 = moveTool2(1, resultPoints)
gCode2 = moveTool2(0, i)
gcode = gCode0 + '\n' + gCode1 + '\n' + gCode2
return gcode

def getGcode(method,k):
    x = 'X'
    y = 'Y'
    z = 'Z'
    g00 = 'G00 '
    g01 = 'G01 '
    if(method == 0):
        result = g00
    elif(method == 1):
        result = g01 
    if(k[0] != None):
        result += x + str(k[0]) + ' '
    if(k[1] != None):
        result += y + str(k[1]) + ' '
    if(k[2] != None):
        result += z + str(k[2]) + ' '
    return result
    


def moveTool2(method,polygon):
    if(method != 0 and method != 1):
        print('cuowu de canshu')
#        raise()
        return
    c = []
    result = ''
    for k in polygon:
        #根据坐标得到G代码
        #tp = g00 + ' ' + x + str(k[0]) + ' ' + y + str(k[1]) + ' ' + z + str(k[2])
        tp = getGcode(method,k)
        c.append(tp)
        #result += tp + '\n'
    #print(c)
    return '\n'.join(c)
    #return result
# points = [[35, 35 , 25], [35,150,25], [150,150,25],[150,35,25],[35,35,25],[35,35,50]]
# method = 0 输出G00, method = 1输出G01
#points0 = [[0,150,35]]
#points1 = [[0.0, 150.0, 25], [0.0, 0.0, 25], [150.0, 0.0, 25], [150.0, 150.0, 25], [0.0, 150.0, 25]]
#points2 = [[0,0,50],[100,100,60]]


def biankuan(i,w,c):
    a1 = [c[0] - i/2 ,c[1] + w/2 ,c[2]]
    a2 = [c[0] - i/2 ,c[1] - w/2 ,c[2]]
    a3 = [c[0] + i/2 ,c[1] - w/2 ,c[2]]
    a4 = [c[0] + i/2 ,c[1] + w/2 ,c[2]]
    b = [a1,a2,a3,a4,a1]
    return b
#points1 = biankuan(140,140,[70,70,15])
#p = [i for i in resultPoints[0]]
#p[2] = p[2]+20
#p = [p]
#i = [i for i in resultPoints[-1]]
#i[2] = i[2]+20
#i = [i]
#print(p,i)


def min(x, y):
    if(x < y):
        return x
    else:
        return y

##width = 140
#length = 140
#toolDiameter = 5
#center = [75, 70, 15]

#resultPoints = []
#while(min(width, length) > toolDiameter):
   # width = width - toolDiameter/2
   # length = length - toolDiameter/2
   # currentPoints = biankuan(length, width, center)
   # resultPoints = resultPoints + currentPoints
    #print(w, l)
    
#gCode0 = moveTool2(0, p)
#gCode1 = moveTool2(1, resultPoints)
#gCode2 = moveTool2(0, i)
#print(gCode0)
#print(gCode1)
#print(gCode2)

def createPocket(width,length,toolDiameter,center):
    resultPoints = []
    while(min(width, length) > toolDiameter):
        width = width - toolDiameter/2
        length = length - toolDiameter/2
        currentPoints = biankuan(length, width, center)
        resultPoints = resultPoints + currentPoints
    p = [i for i in resultPoints[0]]
    p[2] = p[2]+20
    p = [p]
    i = [i for i in resultPoints[-1]]
    i[2] = i[2]+20
    i = [i]
    gCode0 = moveTool2(0, p)
    gCode1 = moveTool2(1, resultPoints)
    gCode2 = moveTool2(0, i)
    gcode = gCode0 + '\n' + gCode1 + '\n' + gCode2
    return gcode

gcode = createPocket(140, 140, 10, [70, 70, 15])
print(gcode)
def createpocket(width,length,toolDiameter,center):
    resultPoints = []
    while(min(width, length) > toolDiameter):
        width = width - toolDiameter/2
        length = length - toolDiameter/2
        currentPoints = biankuan(length, width, center)
        resultPoints = resultPoints + currentPoints
    p = [i for i in resultPoints[0]]
    p[2] = p[2]+20
    p = [p]
    i = [i for i in resultPoints[-1]]
    i[2] = i[2]+20
    i = [i]
    gCode0 = moveTool2(0, p)
    gCode1 = moveTool2(1, resultPoints)
    gCode2 = moveTool2(0, i)
    bkzb = gCode0 + '\n' + gCode1 + '\n' + gCode2
    return bkzb
gcode = createPocket(140, 140, 10, [70, 70, 15])
print(gcode)

写一个函数求出已知队列数值最大值

a = [1.2,26,-3,-1,684,'sfggh',"896",412,'asdf']
k = 'x'
for v in a:
    #if(isinstance(v,int) or isinstance(v,float)):
    try:
        v1 = float(v)
        if(k == 'x'):
            k = v1
        else:
            if(v1 > k):
                k = v1
    except Exception as err:
        print('错误信息:',err)
if(k == 'x'):
    print('找不到最大值')
else:
    print('最大值为',k)

#找最大值
~                                                                                                                       ~