Python程序每日一练习

问题一:做为Apple Store App独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用Python如何生成200个激活码(或者优惠券)?

简介:通用唯一识别码(英语:Universally Unique Identifier,简称UUID)是一种软件建构的标准,亦为开放软件基金会组织在分散式计算环境领域的一部份。

UUID的目的,是让分散式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的UUID。在这样的情况下,就不需考虑资料库建立时的名称重复问题。目前最广泛应用的UUID,是微软公司的全局唯一标识符(GUID),而其他重要的应用,则有Linux ext2/ext3档案系统、LUKS加密分区、GNOME、KDE、Mac OS X等等。另外我们也可以在e2fsprogs套件中的UUID函式库找到实现。

分析这里参考(http://www.blogjava.net/BearRui/archive/2010/10/19/unique_random_code.html)

主键+随机码的方式.

这种方法优点:使用也比较简单,不用直接去查询数据库,而最大的优点是查询的时候,可以根据邀请码直接得到主键id, 然后根据id去数据库查询(速度很快),再比较查询出来的邀请码和用户提交的邀请码是否一致。

  1. 生成:id(数据库primary key )->16进制 + "L(标识符)" +随机码
  2. 获取id:获取16进制的id再转回10进制
import random
import stringdef activation_code(id,length = 10):'''id+L+随机码string模块中的三个函数为:string.letters,string.printable.string.printable'''prefix = hex(int(id))[2:]+'L'  #prefix为前缀length =length -len(prefix)chars = string.ascii_letters+string.digitsreturn prefix + ''.join([random.choice(chars) for i in range(length)])def get_id(code):'''hex to dec'''return str(int(code.upper(),16))if __name__ =="__mian__":for i in range(10,500,35):code = activation_code(i)id_hex = code.split('L')[0]id = get_id(id_hex)print (code,id)if __name__=="__main__":for i in range(10,200,35):code = activation_code(i)id_hex = code.split('L')[0]id  = get_id(id_hex)print (code,id)#print(code)

问题二:任一个英文的纯文本文件,统计其中的单词出现的个数

1.strip()没有参数时,删除空白符,包括、n\r\t空格,strip()函数只能用于str类型,list类型等不可用。

2.split()用于分割,分隔符可以自己制定

def world_count(inputfile):if os.path.isfile(inputfile) !=True:print("inputfile not exits")sys.exit()word_count = 0words = open(inputfile , "r").readlines()for word in words:print("word: %s" %word)temp = word.strip().split('')word_count += len(temp)print("word count:%s" %word_count)return word_count

 问题三:用 Python 写一个爬图片的程序

   这个就是一个简单的爬虫,只要模拟浏览器即可

import urllib.request
import reurl = 'http://tieba.baidu.com/p/2166231880'
headers = ("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36")
opener = urllib.request.build_opener()
opener.assheaders = [headers]
urllib.request.install_opener(opener)
data = urllib.request.urlopen(url).read()
data2 = data.decode("utf-8","ignore")
pattern = '<img pic_type="0" class="BDE_Image" src="(.*?)" bdwater="杉本有美吧,.*?" width=".*?" height=".*?" changedsize="true">'
allurl = re.compile(pattern).findall(data2)
#print(allurl)for i in range(0,len(allurl)):#print(allurl[i])thisimg = allurl[i]file = "D:/pycode/"+str(i)+".jpg"urllib.request.urlretrieve(thisimg,filename = file)print("" + str(i) + "次爬去成功")

问题四:一个HTML文件,找出里面的正文

问题五:有个目录,里面是你自己写过的程序,统计一下你写过多少行代码。包括空行和注释,但是要分别列出来。

 

import os
import string
import reos.chdir('C:/workspace')fh=open('test_test.py')
read_fh=fh.readlines()
fh.close()
number_code=0
number_empty=0
number_note=0
pattern='.*#' #正则匹配模式for x in read_fh:if '#' in x: #计算注释数目if re.findall(pattern,x)[0][:-1].isspace() or re.findall(pattern,x)[0][:-1]=='':number_note+=1else:number_code+=1elif x.isspace():number_empty+=1else:number_code+=1
print('code number is %d'%(number_code+number_empty+number_note))
print('empty number is %d'%number_empty)
print('note number is %d'%number_note)

 问题六:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

d = [1,2,3,4]
def threenums():print(None)count = 0nums = []for index1 in range(1,5):for index2 in range(1,5):for index3 in range(1,5):if index1 != index2 and index2 != index3 and index3 !=index1:num = 100*index1 +10*index2 +index3if num not in nums:nums.append(num)count +=1print(count)print(nums)

问题七:

企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%,
高于100万元时,超过100万元的部分按1%提成,
从键盘输入当月利润I,求应发放奖金总数?

 

def reward(profit):reward = 0.0if profit <=100000:return profit*0.1elif profit <=20 and profit >10:return (profit-10000)*0.075+100000*0.1elif profit <=40 and profit >20:return (profit-10000)*0.05+100000*0.1+10000*0.075elif profit <=60 and profit >40:return (profit-10000)*0.03+100000*0.1+10000*0.075+100000*0.05elif profit <=100 and profit >60:return (profit-10000)*0.015+100000*0.1+10000*0.075+100000*0.05+100000*0.03else:return (profit-10000)*0.01+100000*0.1+10000*0.075+100000*0.05+100000*0.03+100000*0.015if __name__ == "__mian__":profit = int(input("请输入当月利润:"))print(reward(profit))

 问题八:一个整数,
它加上100后是一个完全平方数,再加上168又是一个完全平方数,
请问该数是多少?

import mathfor i in range(10000):x = int(math.sqrt(i+100))y = int(math.sqrt(i+168))if (x*x == i+100) and (y*y == i+168):print(i)

 

 

未完待续,有时间会继续上传,http://www.cnblogs.com/bakoom/p/5251293.html

转载于:https://www.cnblogs.com/wj-1314/p/7487040.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399909.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C/C++查找一定范围内的素数(筛法)

本文转自于&#xff1a;http://dalu.blogbus.com/logs/37977984.html 由于一个合数总是可以分解成若干个质数的乘积&#xff0c;那么如果把质数&#xff08;最初只知道2是质数&#xff09;的倍数都去掉&#xff0c;那么剩下的就是质数了。例如要查找100以内的质数&#xff0c;首…

mysql中char,varchar与text类型的区别和选用

关于char&#xff0c;varchar与text平时没有太在意&#xff0c;一般来说&#xff0c;可能现在大家都是用varchar。但是当要存储的内容比较大时&#xff0c;究竟是选择varchar还是text呢&#xff1f;不知道。。。。。。 text 、 char、varchar 是数据在数据库中的存放策略问题…

循环Map方法

public static void main(String[] args) { Map<String, String> map new HashMap<String, String>(); map.put("1", "张三"); map.put("2", "李四"); map.put("3", "王五"); /*方法一 &#xff1a;…

rsync备份学习

备份内容&#xff1a;把虚拟机A&#xff08;192.168.91.243&#xff09;需要把文件备份到虚拟机B&#xff08;192.168.91.207&#xff09; 一、检查两台虚拟机是否已经安装rsync rsync -version命令检查 二、如果没有安装rsync&#xff0c;需要先安装rsync 在客户端和服务器…

四大组件的工作过程

1、四大组件的运行状态 Android的四大组件中除了BroadcastReceiver以外&#xff0c;其他三种组件都必须在AndroidManifest中注册&#xff0c;对于BroadcastReceiver来说&#xff0c;既可以在AndroidManifest中注册也可以通过代码来…

联系表单 1_copy

你的名字 &#xff08;必填&#xff09; [text* your-name] 你的邮箱 &#xff08;必填&#xff09; [email* your-email] 主题 [text your-subject] 你的留言 [textarea your-message] [submit "发送"] [your-subject] [your-name] < [your-email]> 发件人…

Windows下使用VisualSVN Server搭建SVN服务器

2019独角兽企业重金招聘Python工程师标准>>> 使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和Apache相配合来实现源代码的 SVN管理简单的多&#xff0c;下面就看看详细的说明。 VisualSVN Server的下载地址如下&#xff0c;是免费的&#xff0c;随…

新装的linux系统,用SSH连接出现乱码怎么办?附改名虚拟机文件方法

原因&#xff1a;SSH不支持中文&#xff0c;需要系统语言设置 1、查看当前操作系统的语言 echo $LANG 2、临时更改默认语言(关闭当前会话失效) export LANGen_US.UTF-8 3、永久生效,编辑文件保存并退出 vi /etc/sysconfig/i18n LANG"en_US.UTF-8" 4、使其…

hdu 6183 线段树的空间优化

题意&#xff1a; 一个空的坐标系&#xff0c;有④种操作&#xff1a;①1 x y c表示在(x, y)点染上颜色c&#xff1b;②2 X y1 y2表示查询在(1, y1)到(X, y2)范围内有多少种不同的颜色&#xff1a; ③0表示清屏&#xff1b;④3表示程序退出&#xff08;0<x, y<1000000, 0…

js 判断数据是否为空

// var a ""; // var a " "; // var a null; // var a undefined; // var a []; // var a {}; // var a NaN;if(a undefined) { // 只能用 运算来测试某个值是否是未定义的console.log("为undefined");}if(a nul…

Aspx 页面生命周期

ASP.NET 页运行时&#xff0c;此页将经历一个生命周期&#xff0c;在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页的生命周期非常重要&#xff0c;这样就能在合适的生命周期阶段编写代码&#…

Python 练习册,每天一个小程序

Python 练习册&#xff0c;每天一个小程序说明&#xff1a;Python 练习册&#xff0c;每天一个小程序。注&#xff1a;将 Python 换成其他语言&#xff0c;大多数题目也适用不会出现诸如「打印九九乘法表」、「打印水仙花」之类的题目点此链接&#xff0c;会看到每个题目的代码…

添加永久路由的方法

配置文件配置路由的方法&#xff1a; 直接编辑/etc/sysconfig/static-routes&#xff1a; vim /etc/sysconfig/static-routes 根据需要配置&#xff0c;比如&#xff1a; 192.168.90.52增加一条路由 172.0.0.0\8 指向 192.168.91.12 默认网关不变&#xff0c;增加的路由&am…

CentOS/Linux 解决 SSH 连接慢

现在连接linux服务器一般都是使用SSH远程连接的方式。最近新装了一台服务器&#xff0c;发现telnet时速度很快&#xff0c;ping时一切也正常&#xff0c;但SSH连接的时候却很慢。经过网上资料查询&#xff0c;大致是有以下几种原因&#xff1a; 1、SERVER的SSHD会去DNS查找访问…

在浏览器控制台输出内容 console.log(string);

在浏览器控制台中写如数据 1添加 <script type"text/javascript">djConfig { isDebug: true };</script> 在<script>写入需要输出的内容 <script> 如&#xff1a; 1 2 3 4 5 6 7 8 dojo.require("esri.map"); fu…

php支付宝开发

1.下载对应的接口demo&#xff0c;注意退款有无密和有密 2.根据接口代码编写&#xff0c;要注意notify_url和return_url不能带有额外参数&#xff0c;并且notify_url中途不能含有跳转&#xff0c;否则post数据会丢失 3.密钥的配置&#xff0c;根据openssl生成密钥和私钥&#x…

不同网段虚拟机,互相访问时的路由配置,附路由知识学习

事情实例&#xff1a; 虚拟主机&#xff1a;192.168.90.247需要访问192.168.91.XX网段的数据库&#xff0c;无法访问。 1、这里要考虑一下添加一个路由&#xff0c;目的地址为192.168.91.XX,掩码为255.255.255.0&#xff0c;网关为如图所示 2、这里添加一个路由为&#xff1a;…

iOS使用自定义字体(添加字体包)

转载请注明出处&#xff01;&#xff01;&#xff01; 首先是最简单也普遍的做法&#xff0c;打包内置字符库文件&#xff1a; 步骤如下&#xff1a; 1.第一步找到你想用的字体的 ttf 格式。加入到你的工程的resouce目录下。 2.在工程的plist中AddRow&#xff0c;“Fonts provi…

zookeeper 应用开发

由于zookeeper的client只有zookeeper一个对象&#xff0c;使用也比较简单&#xff0c;所以就不许要文字说明了&#xff0c;在代码中注释下就ok 了。 1、测试用的main方法 package ClientExample; public class TestMain { public static void main(String[] args) { /* * …

CentOS 下安装xdebug

在CentOS 6.x 的系统中&#xff0c;是集成xdebug 的&#xff0c; yum install php-pecl-xdebug 如果是CentOS.5 也可能通过安装安装 epel 来安装 rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm 然后 yum install php-pecl-xdebug 再在p…