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编程实战的更多相关文章

  1. python经典书籍:Python编程实战 运用设计模式、并发和程序库创建高质量程序

    Python编程实战主要关注了四个方面 即:优雅编码设计模式.通过并发和编译后的Python(Cython)使处理速度更快.高层联网和图像.书中展示了在Python中已经过验证有用的设计模式,用专家级 ...

  2. Python 编程实战提高测试工作效率实例之svn 文件管理

    #coding=utf-8 ''' Created on 2016年8月22日 @author:Tom Gao ''' importre importos importtime "" ...

  3. [Python编程实战] 第一章 python的创建型设计模式1.1抽象工厂模式

    注:关乎对象的创建方式的设计模式就是“创建型设计模式”(creational design pattern) 1.1 抽象工厂模式 “抽象工厂模式”(Abstract Factory Pattern) ...

  4. 开始慢慢学习这本书了。。Python编程实战:运用设计模式、并发和程序库创建高质量程序

    没办法,不到设计模式,算法组合这些,在写大一点程序的时候,总是力不从心...:( 一开始可能要花很多时间来慢慢理解吧,,这毕竟和<大话设计模式>用的C#语言有点不太一样... 书上代码是3 ...

  5. Python数据可视化编程实战pdf

    Python数据可视化编程实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1vAvKwCry4P4QeofW-RqZ_A 提取码:9pcd 复制这段内容后打开百度 ...

  6. python数据可视化编程实战PDF高清电子书

    点击获取提取码:3l5m 内容简介 <Python数据可视化编程实战>是一本使用Python实现数据可视化编程的实战指南,介绍了如何使用Python最流行的库,通过60余种方法创建美观的数 ...

  7. 给缺少Python项目实战经验的人

    我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...

  8. Python爬虫实战(4):豆瓣小组话题数据采集—动态网页

    1, 引言 注释:上一篇<Python爬虫实战(3):安居客房产经纪人信息采集>,访问的网页是静态网页,有朋友模仿那个实战来采集动态加载豆瓣小组的网页,结果不成功.本篇是针对动态网页的数据 ...

  9. Python数据分析实战

    Python数据分析实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1nlHM1IW8MYg3z79TUwIsWg 提取码:ux8t 复制这段内容后打开百度网盘手 ...

随机推荐

  1. ImCash:论拥有靠谱数字钱包的重要性!

    数字货币被盗已经不是什么新鲜事,前有交易所币安被黑客攻击,Youbit破产,后有“钓鱼邮件“盗号木马,安全对于数字货币用户来讲至关重要. 现行市场痛点:   2017年9月以太坊Parity钱包的漏洞 ...

  2. linux 启动springboot项目

    1.启动 nohup java -jar train-manager.jar --spring.profiles.active=test > out.log & 2.查看进程 ps -e ...

  3. 第三次作业-结对编程(wordcount)

    GIT地址 https://github.com/gentlemanzq/WordCount.git GIT用户名  gentlemanzq 结对伙伴博客地址 https://home.cnblogs ...

  4. 分布式存储ceph理论

    一.ceph简介 Ceph是一种具有优秀性能,可靠性和可扩展性,统一的分布式文件系统.ceph 的统一体现在可以提供文件系统.块存储和对象存储,分布式体现在可以动态扩展.在国内一些公司的云环境中,通常 ...

  5. Linux之环境搭建(一)

    四大系统比较 Mac OS是苹果机专用系统,是基于Unix内核的图形化操作系统,因此Unix相当于父亲,Linux和Mac OS是对兄弟. CentOS是从Redhat源代码编译重新发布版.CentO ...

  6. webpack问题列表及解决方案

    1.提升webpack打包速度 2.cssloader顺序有先后 3.如何正确引用图片 4.打包后访问不到json文件 5.打包后如何访问项目 6.打包后的文件 7.为什么执行webpack,就可以打 ...

  7. JavaWeb从开发环境搭建,到第一个servlet程序(图文)

    ##  开学到今天,已经是第三周了~  然而这门课的教材还没发~   滋滋滋   表示很“蓝瘦”~~~ Java Web开发环境搭建 1. 下载安装Tomcat 官网地址:http://tomcat. ...

  8. idhttp提交post带参数并带上cookie

    有这么一个提交连接 http://www.XXXXXX.com/test.php?p1=411328&p2=1&d1=HeroSkinList 一共有三个参数[p1]  [p2]  [ ...

  9. android BLE Peripheral 模拟 ibeacon 发出ble 广播

    Android对外模模式(peripheral)的支持: 从Android 5.0+开始才支持. api level >= 21 所以5.0 之前设备,是不能向外发送广播的. Android中心 ...

  10. tensor内部结构

    内部结构 1.tensor分为头信息区(Tensor)和存储区(Storage): 信息区:tensor的形状(size).步长(stride).数据类型(type),信息区占用内存较少 存储区:数据 ...