首页
关于
Search
1
怎么快速从GitHub上下载代码
48 阅读
2
GitHub下载加速的有效方法
39 阅读
3
Python中的center()是怎么用的
35 阅读
4
如何在GitHub上下载旧版本
34 阅读
5
怎样删除GitHub存储库
32 阅读
Python
Github
IDC推荐
登录
Search
Xbe
累计撰写
242
篇文章
累计收到
1
条评论
首页
栏目
Python
Github
IDC推荐
页面
关于
搜索到
81
篇与
的结果
2025-03-16
举例说明Python中常见的数制转换
数制转换即进制转换,指进制(二、八、十、十六进制)间的相互转换,计算机编程中较为常见。这里列举了python常见数制转换用法。1.进位制度Python中二进制是以0b开头的:例如: 0b11 则表示十进制的38进制是以0开头的:例如: 011则表示十进制的916进制是以0x开头的:例如: 0x11则表示十进制的17或者写成 \x \b2.各种函数转换#10进制转为2进制 >>> bin(10) '0b1010' #2进制转为10进制 >>> int("1001",2) 9 #10进制转为16进制 >>> hex(10) '0xa' #16进制到10进制 >>> int('ff', 16) 255 >>> int('0xab', 16) 171 #十进制转为八进制 >>print("%o" % 10) >>12 #16进制到2进制 >>> bin(0xa) '0b1010' >>> #10进制到8进制 >>> oct(8) '010' #2进制到16进制 >>> hex(0b1001) '0x9'
2025年03月16日
6 阅读
0 评论
0 点赞
2025-03-16
Python中lambda和def有什么区别
在Python中lambda和def都是用来创建函数的,但是这两者有什么区别呢?先来看一个案例分析:示例程序:>>> f1 = lambda x,y,z: x*2+y+z # lambda带有多个参数 >>> print f1(3,2,1) 9 >>> f3 = lambda i:i*2 # lambda带有一个参数 >>> print f3(7) 14 >>> def fun1(n): ... return lambda m:m**n # m的n次方 ... >>> def fun2(m, n): ... return m+n ... >>> f2 = fun1(2) # 动态生成一个函数 >>> print f2(4) 16 >>> print fun2(3, (lambda x:x+1)(2)) # lambda用作函数参数 6 >>>对比分析了python中lambda与def的用法,lambda和def的区别总结如下:1、lambda用来创建匿名函数,不同于def(def创建的函数都是有名字的)。2、lambda不会将结果赋给一个标识符,而def会将函数结果赋给一个标识符。3、lambda是一个表达式,而def是一个语句
2025年03月16日
7 阅读
0 评论
0 点赞
2025-03-16
Python脚本绘制验证码
在Python中有个强大的绘图库pil,可以实现验证码的绘制功能。PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。例讲述了python使用pil生成图片验证码的方法。分享给大家供大家参考。具体实现方法如下:# -*- coding: utf-8 -*- #导入三个模块 import Image,ImageDraw,ImageFont import random import math '''基本功能''' #图片宽度 width = 100 #图片高度 height = 40 #背景颜色 bgcolor = (255,255,255) #生成背景图片 image = Image.new('RGB',(width,height),bgcolor) #加载字体 font = ImageFont.truetype('FreeSans.ttf',30) #字体颜色 fontcolor = (0,0,0) #产生draw对象,draw是一些算法的集合 draw = ImageDraw.Draw(image) #画字体,(0,0)是起始位置 draw.text((0,0),'1234',font=font,fill=fontcolor) #释放draw del draw #保存原始版本 image.save('1234_1.jpeg') '''演示扭曲,需要新建一个图片对象''' #新图片 newImage = Image.new('RGB',(width,height),bgcolor) #load像素 newPix = newImage.load() pix = image.load() offset = 0 for y in range(0,height): offset += 1 for x in range(0,width): #新的x坐标点 newx = x + offset #你可以试试如下的效果 #newx = x + math.sin(float(y)/10)*10 if newx < width: #把源像素通过偏移到新的像素点 newPix[newx,y] = pix[x,y] #保存扭曲后的版本 newImage.save('1234_2.jpeg') '''形变一下''' #x1 = ax+by+c #y1 = dx+ey+f newImage = image.transform((width+30,height+10), Image.AFFINE, (1,-0.3,0,-0.1,1,0)) newImage.save('1234_3.jpeg') '''画干扰线,别画太多,免得用户都看不清楚''' #创建draw,画线用 draw = ImageDraw.Draw(newImage) #线的颜色 linecolor= (0,0,0) for i in range(0,15): #都是随机的 x1 = random.randint(0,width) x2 = random.randint(0,width) y1 = random.randint(0,height) y2 = random.randint(0,height) draw.line([(x1, y1), (x2, y2)], linecolor) #保存到本地 newImage.save('1234_4.jpeg')
2025年03月16日
3 阅读
0 评论
0 点赞
2025-03-16
用Python举例实现逆波兰表达式
逆波兰表达式是编译原理中的一种基本表达式,利用Python语言也可以实现逆波兰表达式的输出,这里举例实践说明:什么是逆波兰表达式?逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,所以,这种表示法也称为中缀表示。波兰逻辑学家J.Lukasiewicz于1929年提出了另一种表示表达式的方法。按此方法,每一运算符都置于其运算对象之后,故称为后缀表示。举例实现:# -*- coding: utf-8 -*- symbol_priority = {} symbol_priority[0] = ['#'] symbol_priority[1] = ['('] symbol_priority[2] = ['+', '-'] symbol_priority[3] = ['*', '/'] symbol_priority[4] = [')'] def comparePriority(symbol, RPN_stack, symbol_stack): '''Compare priority between two symbols''' global symbol_priority if len(symbol_stack) > 0: symbol_pop = symbol_stack.pop() else: return for list in symbol_priority.values(): if (symbol in list) and (symbol_pop in list): '''same priority''' symbol_stack.append(symbol_pop) symbol_stack.append(symbol) return elif symbol in list: '''symbol is smaller''' RPN_stack.append(symbol_pop) #recusion call comparePriority(symbol, RPN_stack, symbol_stack) return elif symbol_pop in list: '''symbol is bigger''' symbol_stack.append(symbol_pop) symbol_stack.append(symbol) return else: continue symbol_stack.append(symbol_pop) return def scanEveryone(input_string, RPN_stack, symbol_stack): for ch in input_string: if ch.isdigit(): RPN_stack.append(ch) else: if len(symbol_stack) > 0: if ch == '(': symbol_stack.append(ch) elif ch == ')': while True: symbol_pop = symbol_stack.pop() if symbol_pop == '(': break else: RPN_stack.append(symbol_pop) else: comparePriority(ch, RPN_stack, symbol_stack) else: symbol_stack.append(ch) def scanInput(RPN_stack, symbol_stack): input_string = raw_input() input_string += '#' scanEveryone(input_string, RPN_stack, symbol_stack) def calRPN(RPN_stack): value_stack = [] RPN_stack.append('#') for value in RPN_stack: if value == '#': return value_stack.pop() break if value.isdigit(): value_stack.append(value) else: right_value = value_stack.pop() left_value = value_stack.pop() cal_string = left_value + value + right_value value_stack.append(str(eval(cal_string))) def main(): RPN_stack = [] symbol_stack = [] scanInput(RPN_stack, symbol_stack) print calRPN(RPN_stack) if __name__ == '__main__': main()calRPN.py# -*- coding: utf-8 -*- symbol_priority = {} symbol_priority[0] = ['#'] symbol_priority[1] = ['('] symbol_priority[2] = ['+', '-'] symbol_priority[3] = ['*', '/'] symbol_priority[4] = [')'] def comparePriority(symbol, RPN_stack, symbol_stack): '''Compare priority between two symbols''' global symbol_priority if len(symbol_stack) > 0: symbol_pop = symbol_stack.pop() else: return for list in symbol_priority.values(): if (symbol in list) and (symbol_pop in list): '''same priority''' symbol_stack.append(symbol_pop) symbol_stack.append(symbol) return elif symbol in list: '''symbol is smaller''' RPN_stack.append(symbol_pop) #recusion call comparePriority(symbol, RPN_stack, symbol_stack) return elif symbol_pop in list: '''symbol is bigger''' symbol_stack.append(symbol_pop) symbol_stack.append(symbol) return else: continue symbol_stack.append(symbol_pop) return def scanEveryone(input_string, RPN_stack, symbol_stack): for ch in input_string: if ch.isdigit(): RPN_stack.append(ch) else: if len(symbol_stack) > 0: if ch == '(': symbol_stack.append(ch) elif ch == ')': while True: symbol_pop = symbol_stack.pop() if symbol_pop == '(': break else: RPN_stack.append(symbol_pop) else: comparePriority(ch, RPN_stack, symbol_stack) else: symbol_stack.append(ch) def scanInput(RPN_stack, symbol_stack): input_string = raw_input() input_string += '#' scanEveryone(input_string, RPN_stack, symbol_stack) def calRPN(RPN_stack): value_stack = [] RPN_stack.append('#') for value in RPN_stack: if value == '#': return value_stack.pop() break if value.isdigit(): value_stack.append(value) else: right_value = value_stack.pop() left_value = value_stack.pop() cal_string = left_value + value + right_value value_stack.append(str(eval(cal_string))) def main(): RPN_stack = [] symbol_stack = [] scanInput(RPN_stack, symbol_stack) print calRPN(RPN_stack) if __name__ == '__main__': main()
2025年03月16日
4 阅读
0 评论
0 点赞
2025-03-16
举例解释Python中的continue怎么用
Python continue语句返回while循环的开始。Continue语句拒绝在该循环的当前迭代中的其余语句执行并移动控制返回到循环的顶部(开始位置)。continue语句可以在while和for循环使用。Python continue语句的语法如下:continue例子#!/usr/bin/python for letter in 'Python': # First Example if letter == 'h': continue print 'Current Letter :', letter var = 10 # Second Example while var > 0: var = var -1 if var == 5: continue print 'Current variable value :', var print "Good bye!"当执行上面的代码,产生以下结果:Current Letter : P Current Letter : y Current Letter : t Current Letter : o Current Letter : n Current variable value : 9 Current variable value : 8 Current variable value : 7 Current variable value : 6 Current variable value : 4 Current variable value : 3 Current variable value : 2 Current variable value : 1 Current variable value : 0 Good bye!
2025年03月16日
3 阅读
0 评论
0 点赞
1
...
3
4
5
...
17