python编程实战
1.计算对称平方数
题目描述
打印所有不超过n(n<256)的,其平方具有对称性质的数,如11*11=121。
输入描述
无
输出描述
每行一个数,表示对称平方数
def f(n):
flag = True
sum = n * n
sum_str_list = [i for i in str(sum)]
a, b = divmod(len(str(sum)), 2)
for i in range(0,len(sum_str_list)//2):
if b > 0:
if sum_str_list[len(sum_str_list)//2-i-1] == sum_str_list[len(sum_str_list)//2+i+1]:
continue
else:
flag = False
break
else:
if sum_str_list[len(sum_str_list)//2-i-1] == sum_str_list[len(sum_str_list)//2+i]:
continue
else:
flag = False
break
if flag:
print(n) else:
pass if __name__ == '__main__':
for i in range(1, 257):
f(i)
2、找出所有三位数组合
题目描述
有1、2、3、4四个数字,要求任选三个,组成一个三位数,每位数字各不相同,输出所有三位数组合。
输入描述
无
输出描述
打印所有三位数组合
a_list = ['','','',''] def get_num_list(num,arg):
arg.remove(num)
return arg for a in a_list:
for b in get_num_list(a,a_list.copy()):
if b == a:
continue
else:
for c in get_num_list(b,a_list.copy()):
if c == a or c == b :
continue
else:
print(c + a + b)
print(a + c + b)
print(c + b + a)
print(a + b + c)
print(b + a + c)
print(b + c + a)
2、找出所有三位数组合(改良)
上述程序输出有点繁琐,改良如下。
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i!=k and i!=j and j!=k:
print(i,j,k)
3、斐波那契数列
题目描述
打印0,1,1,2,3,5,......
输入描述
无
输出描述
输出0,1,1,3,5,......规律的数
def feibo(n):
if n == 0:
return 0
if n==1:
return 1
return feibo(n-1)+feibo(n-2) for i in range(10):
print(feibo(i))
3、字符串查找
题目描述
给一字符串,查找字符串出现最多的字符,并打印该字符。
输入描述
输入一个字符串
输出描述
输出该字符传出现次数最多的字符
def get_str_dict(string):
str_dict = {}
for s in string:
if s in str_dict.keys():
str_dict[s] += 1
else:
str_dict[s] = 1
return str_dict def get_max_str_value(str_dict):
count = 0
s_char = ''
for key, value in str_dict.items():
if value > count:
count = value
s_char = key
return s_char, count if __name__ == "__main__":
string = input('>>:').strip()
str_dict = get_str_dict(string)
s,count = get_max_str_value(str_dict)
print(s,count)
4、日期累加
题目描述
设计一个程序能计算一个日期加上若干天后是什么日期。
输入描述
输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。
输出描述
输出m行,每行按yyyy-mm-dd的个数输出。
import sys
import datetime def add_time(year,month,day,add_days):
in_time = datetime.date(year=year,month=month,day=day) add_time = datetime.timedelta(days=add_days)
out_time = in_time + add_time
print(out_time) if __name__ == "__main__":
n = sys.stdin.readline().strip()
for i in range(int(n)):
in_str = sys.stdin.readline().strip().split()
add_time(int(in_str[0]), int(in_str[1]),int(in_str[2]),int(in_str[3]))
5、贴邮票
题目描述
某人有8 角的邮票5 张,1 元的邮票4 张,1 元8 角的邮票6 张,用这些邮票中的一张或若干张可以得到多少中不同的邮资?
输入描述
无
输出描述
输出一行,表示题目所求。
a_list = []
for i in range(6):
for j in range(5):
for k in range(7):
a_list.append(i*8+j*10+k*18)
print(len(set(a_list)))
6.图片验证码生成
import random
from io import BytesIO from PIL import Image, ImageDraw, ImageFont class CodeImage(object): _source = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' _mode = 'RGB' _bg_color = (255, 255, 240) def __init__(self,size=(90, 30)):
# 初始化画布,初始化画笔
self._size = size
self.image = Image.new(self._mode, self._size, self._bg_color)
self.draw = ImageDraw.Draw(self.image, self._mode) def get_color(self):
'''获取随机rgb'''
return (random.randint(64, 200), random.randint(0,200), random.randint(0, 200)) def get_str(self, length):
'''获取随机字符串'''
code = random.sample(self._source, length)
return ''.join(code) def get_point(self):
'''获取坐标'''
point = (random.randrange(self._size[0])+1,random.randrange(self._size[1]+1))
return point def draw_text(self,code):
'''画文本内容'''
length = len(code)
font = ImageFont.truetype('Monaco.ttf', self._size[1]-3)
x = 10
y = 0
for i in range(length):
x = i * (self._size[0]/length) + 5
self.draw.text(xy=(x,y),text=code[i],font=font,fill=self.get_color()) def draw_point(self, num):
'''画干扰点'''
for i in range(num):
self.draw.point(xy=self.get_point(), fill=self.get_color()) def draw_line(self):
'''画干扰线'''
for i in range(random.randrange(4)):
self.draw.line((self.get_point(),self.get_point()), fill=self.get_color()) def save_image(self,num=500):
code = self.get_str(4)
self.draw_text(code)
self.draw_line()
self.draw_point(num)
self.image.save('code.jpg')
return code def save_image_io(self,num=500,image_format='png'):
'''保存图片为io流'''
code = self.get_str(4)
self.draw_text(code)
self.draw_line()
self.draw_point(num)
fp = BytesIO()
self.image.save(fp=fp,format=image_format)
return code,fp CodeImage().save_image()
7、两数之和
题目描述
给定一个整数数组nums
和一个目标值target
,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
输入描述
nums = [2, 7, 11, 15], target = 9
输出描述
[0,1]
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i in range(len(nums)):
num = target - nums[i]
for j in range(i+1,len(nums)):
if nums[j] == num:
return [i,j]
return []
方式二
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
adict = {}
for i,item in enumerate(nums):
num = target - item
if num in adict.keys():
return [i,adict.get(num)]
adict.update({item:i})
return []
python编程实战的更多相关文章
- python经典书籍:Python编程实战 运用设计模式、并发和程序库创建高质量程序
Python编程实战主要关注了四个方面 即:优雅编码设计模式.通过并发和编译后的Python(Cython)使处理速度更快.高层联网和图像.书中展示了在Python中已经过验证有用的设计模式,用专家级 ...
- Python 编程实战提高测试工作效率实例之svn 文件管理
#coding=utf-8 ''' Created on 2016年8月22日 @author:Tom Gao ''' importre importos importtime "" ...
- [Python编程实战] 第一章 python的创建型设计模式1.1抽象工厂模式
注:关乎对象的创建方式的设计模式就是“创建型设计模式”(creational design pattern) 1.1 抽象工厂模式 “抽象工厂模式”(Abstract Factory Pattern) ...
- 开始慢慢学习这本书了。。Python编程实战:运用设计模式、并发和程序库创建高质量程序
没办法,不到设计模式,算法组合这些,在写大一点程序的时候,总是力不从心...:( 一开始可能要花很多时间来慢慢理解吧,,这毕竟和<大话设计模式>用的C#语言有点不太一样... 书上代码是3 ...
- Python数据可视化编程实战pdf
Python数据可视化编程实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1vAvKwCry4P4QeofW-RqZ_A 提取码:9pcd 复制这段内容后打开百度 ...
- python数据可视化编程实战PDF高清电子书
点击获取提取码:3l5m 内容简介 <Python数据可视化编程实战>是一本使用Python实现数据可视化编程的实战指南,介绍了如何使用Python最流行的库,通过60余种方法创建美观的数 ...
- 给缺少Python项目实战经验的人
我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...
- Python爬虫实战(4):豆瓣小组话题数据采集—动态网页
1, 引言 注释:上一篇<Python爬虫实战(3):安居客房产经纪人信息采集>,访问的网页是静态网页,有朋友模仿那个实战来采集动态加载豆瓣小组的网页,结果不成功.本篇是针对动态网页的数据 ...
- Python数据分析实战
Python数据分析实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1nlHM1IW8MYg3z79TUwIsWg 提取码:ux8t 复制这段内容后打开百度网盘手 ...
随机推荐
- Win7共享文件夹简单?这个共享问题可以难倒90%的人
信息化社会,没有哪个公司不用电脑办公了.一个办公室里面的同事相互之间利用系统的共享功能,共享一些文件和软件已经是司空见惯的了,这个不需要多么复杂的操作.我们使用最多的windows7操作系统就能很方便 ...
- 大数据学习之HDFS基本命令操作05
1)hdfs的客户端 1.网页形式->测试用 http://192.168.40.11:50070/dfshealth.html#tab-overview 2.命令行形式->测试用 3.企 ...
- 第二项目AIaisell(易销宝)
一.什么是报表 向上级报告情况的表格.简单的说:报表就是用表格.图表等格式来动态显示数据,可以用公式表示为:“报表 = 多样的格式 + 动态的数据” 表格:详细数据 图表: 直观 二.表格数据展示 2 ...
- Extjs在树上加右键菜单--2019-04-15
效果图如下: 使用规则:将监听加到按钮或树上,监听代码如下. 代码如下: listeners : { //节点单击事件 'rowcontextmenu' : function(view, record ...
- centos7.x 安装 fastDFS
环境准备 使用的系统软件 名称 说明 centos 7.x libfatscommon FastDFS分离出的一些公用函数包 FastDFS FastDFS本体 fastdfs-nginx-modul ...
- xss 加载远程第三方JS
script 没有调用远程平台,用web接收cookie <script>window.open('http://xxx.xxx/cookie.asp?msg='+document.coo ...
- 【省选十连测之一】【线段树】【最小生成树之Kruskal】公路建设
目录 题意 输入格式 输出格式 数据范围 思路 代码 题意 有n个点,m条双向道路,其中第条公路的两个端点是u[i],v[i],费用是c[i]. 现在给出q个询问,每次给定一个L和一个R,要求你只能够 ...
- BZOJ.4212.神牛的养成计划(Trie 可持久化Trie)
BZOJ 为啥hzw的题也是权限题啊 考虑能够匹配\(s1\)这一前缀的串有哪些性质.对所有串排序,能发现可以匹配\(s1\)的是一段区间,可以建一棵\(Trie\)求出来,设为\([l,r]\). ...
- 20181117-python第二章学习小结-part2
浮点型补充: 有限小数与无限循环小数,不包括无理数! 小数点后面的数据运算太复杂,精确度不及整数! 尽量使用科学计数表示小数 列表学习(语法) 创建:[] list = [] #创建空表 list ...
- console.log
其实,console.log 不仅仅有一下应用 console.log() 这个应该是最常用的 console.error() 输出错误信息 会以红色显示 console.assert(bool,”i ...