
Python
是谁在学习
这个作者很懒,什么都没留下…
展开
-
【Python打卡2019】20190403之计算机程序设计基础
0.计算机工作步骤IPO:Input+Process+Output输入、处理、输出。1.程序编写步骤确定问题;算法设计;算法实现;(Programming)测试;(Run Your Programs)验证;(可能又回到【确定问题】那一步)2.选择Python的原因Python的中文意思是蟒蛇;Python的分为2.x和3.x的“派系”(建议从3.x开始学);语法简单;...原创 2019-04-03 21:53:01 · 254 阅读 · 0 评论 -
【Python打卡2019】20190419之计算BMR-字符串分割&格式化输出
0.这次实现的主要功能改变是,用户只需要输入一行信息,通过字符串进行分割,最后再格式化输出1.程序实现""" 计算BMR,人体代谢率指数 一行输入所有结果,然后带单位输出 格式化输出+字符串分割"""def cal_BMR(gender, height, weight, age): """ 计算BMR函数 BMR:基础代谢率...原创 2019-04-19 13:10:54 · 193 阅读 · 0 评论 -
【Python打卡2019】20190503之判断密码强度-文件读取与操作
0.任务描述在判断密码强度的程序当中,加入文件操作,将成功设置的密码信息输出到文件当中保存。1.Python文件操作主要分为三个步骤:打开文件对象,操作文件,关闭文件对象;f = open(“文件名”,“操作模式”)函数打开文件并设置操作模式;r表示只读,不存在文件则报错;w表现只写,不存在文件则自动创建;r+可读可写;a表示添加写入,w是覆盖写入;f.write(“内容”)写入内容;...原创 2019-05-04 00:07:25 · 281 阅读 · 0 评论 -
【Python打卡2019】20190428之根据日期算whichday-集合set
0.目标描述将之前的whichday程序改成使用set集合来取代元素或列表;1.set集合Python中的集合概念和数学中的集合概念是一致的;这意味着,Python中的集合中的元素是无序且不重复的;使用set()这个函数就可以创建咯;与此同时,set支持集合运算,比如集合s和t,s-t表示在s但不在t中;s&t表示同时在s和t中(交集运算);s|t表示在s或t中(并集运算),...原创 2019-04-29 00:25:30 · 376 阅读 · 0 评论 -
【Python打卡2019】20190504之读取存储密码强度的文件内容
0.任务描述之前的程序中向文件当中写入内容;此次实现从文件中读取文件内容;1.读取文件函数read()返回整个文件内容,以字符串形式;readlines()返回整个文件内容,以列表形式;readline()返回文件的下一行内容,以字符串返回;2.读取文件""" 读取保存密码强度的文件"""# 接收用户输入,并传入方法当中def main(): # 打开文件...原创 2019-05-04 20:50:13 · 174 阅读 · 0 评论 -
【Python打卡2019】20190424之n周存钱挑战-用户输入+函数化
0.目标描述本次支持用户输入,并将计算金额的程序函数化;1.程序与结果""" 输出每周存入的钱和存款总数 使用list列表 for+range替换while 新增:函数化+支持用户输入周数等数值"""# import math库,使用求和函数import mathdef total_saved_money_in_week_n(total_weeks,...原创 2019-04-24 17:01:34 · 190 阅读 · 0 评论 -
【Python打卡2019】20190430之根据日期判断为当年哪一天-字典使用
0.任务分析与描述此前的实现当中,我们都使用的是普通的元素集合,将月份和天数分开存储;我们在Java中经常使用map类型进行键值对的存储,键值对能够满足将月份和天数一一对应的需求;在Python中,我们可以通过字典来实现。1.字典字典可以通过dict()函数创建,也可以直接使用{};字典中的元素无序,其中的元素为键值对形式(创建时逗号隔开两个键值对,冒号隔开键与值);添加元素直接赋...原创 2019-04-30 13:02:22 · 503 阅读 · 0 评论 -
【Python打卡2019】20190430之判断密码强弱
0.目标描述我们在使用各类网站或系统的时候,经常会遇到系统要求你设置的密码符合一定的要求才能通过;有时候还会根据密码的强度给你标上【强】【中等】【弱】等等;实际上,密码的强度指的是破解的理论平均次数;今天我就用Python实现一下这个判断的过程。1.密码判断指标设定首先,密码长度要介于8-16位之间;其次,密码中需要包含字母;此外,密码中需要包含数字;最后,密码尝试修改次数...原创 2019-04-30 21:43:29 · 494 阅读 · 0 评论 -
【Python打卡2019】20190516之判断密码强度-面向对象编程
0.目标描述将密码强度判断的相关方法,封装到工具类PasswordTool类当中;1.Python面向对象基础定义方法和Java类似,开头class加上类名;__init_方法负责初始化类的属性;其中参数self代表本类的对象实例;与Java不同的是,创建对象只需要直接写上类名加上括号传入参数即可;调用时,使用指向对象的变量直接调用对应的方法即可;2.代码与结果""" ...原创 2019-05-16 23:10:54 · 332 阅读 · 0 评论 -
【Python打卡2019】20190517之密码强度-面向对象编程2
0.任务描述在上一次面向对象程序的基础上,增加功能为:封装文件相关的方法1.程序与结果上一次和这次的程序,其实体现的只是面向对象的封装特性;面向对象还有其他两个特性,继承和多态。""" 将文件操作封装到类中 定义文件工具类"""class FileTool: """ 文件工具类 """ # 先定义构造函数,即初始化函数 ...原创 2019-05-17 18:44:25 · 215 阅读 · 0 评论 -
【Python打卡2019】20190518之模拟掷骰子
0.目标描述实现掷1个骰子n次,记录点数出现的次数,计算出现频率;1.知识点random模块可以生成随机数,其中randint函数可以指定生成数的范围;模拟掷骰子需要生成1,6的数字,因此使用randint(1, 6)的方式返回一个随机数;enumerate(list)函数能够实现list列表的键值对返回,其中键为索引;2.程序和结果""" 模拟掷骰子 20190...原创 2019-05-18 14:58:08 · 436 阅读 · 0 评论 -
【Python打卡2019】20190609之模拟掷骰子2.0
0.任务描述掷两个骰子,记录和的频次和频率。1.思路描述方法roll_dice()返回1-6的随机数表示掷骰子1次;主函数中:首先创建存储点数和次数的字典;具体实现方法是:创建两个列表分别存储点数2-12以及出现的次数;使用zip函数将两个列表转化为元组,随后转化成字典;循环掷骰子n次,每次中掷骰子2次,计算二者之和并增加到对应键上的值。2.程序和结果""" 模拟掷骰子...原创 2019-06-09 13:58:07 · 354 阅读 · 0 评论 -
【Python打卡2019】20190423之52周存钱挑战-for+range()函数使用
0.目标描述使用for循环直接计数取代while;1.程序与结果""" 52周存钱挑战 每周增加10元 输出每周存入的钱和存款总数 使用list列表 for+range替换while"""# import math库,使用求和函数import mathdef main(): """ 主函数 """ cu...原创 2019-04-23 23:22:41 · 281 阅读 · 0 评论 -
【Python打卡2019】20190427之计算日期是当年的哪一天-使用列表替代元组
0.任务描述用列表替换上一次程序的元组;并且将判断闰年函数化1.元组与列表元组与列表的元素访问方式是一样的;元组的元素在创建完成后,不支持增删改;而列表支持增删改查;列表和元组同属于序列,二者元素均存在顺序前后关系;2.程序与结果""" 判断输入日期为当前年份的第几天 用列表代替元组"""from datetime import datetimedef...原创 2019-04-27 12:22:37 · 357 阅读 · 0 评论 -
【Python打卡2019】20190426之计算日期是当年的哪一天-判断闰年
0.任务描述计算某个日期是当年的哪一天。1.程序与结果""" 判断输入日期为当前年份的第几天"""from datetime import datetimedef cal_which_day(date_str): input_date = datetime.strptime(date_str, "%Y/%m/%d") year = input_date.yea...原创 2019-04-26 20:32:15 · 285 阅读 · 0 评论 -
【Python打卡2019】20190406之货币兑换
0.将人民币转换为美元程序:#将人民币转为美元usd_vs_rmb = 6.77rmb_str = input("请输入人民币金额:")rmb_num = eval(rmb_str)usd_num = rmb_num / usd_vs_rmbprint("人民币%f元转换为美元之后的金额为%f元" % (rmb_num, usd_num))运行结果:请输入人民币金额:10人民...原创 2019-04-06 22:03:33 · 910 阅读 · 5 评论 -
【Python打卡2019】20190408之货币兑换4.0
0.接的是之前的例子1.代码:#将货币兑换函数化#定义函数,传入币种和数量,此方法未加返回值def convert_currency(curreny_amount,currency_unit): usd_vs_rmb = 6.77 # 美元对人民币汇率 if currency_unit == 'CNY': usd_num = curreny_amount...原创 2019-04-08 23:56:55 · 275 阅读 · 0 评论 -
【Python打卡2019】之turtle库画五角星
0.turtle的具体使用见我室友的博客https://blog.youkuaiyun.com/MessiNine/article/details/80314783#commentBox1.画一下最简单的五角星1.1思路:将turtle画笔想象成自己的笔,先向右画一笔,然后转向左下方画一笔,然后再向右上方画一笔…一共五笔;转化为函数思路,先前进一段,再右转144°,前进一段;然后再右转144°,前...原创 2019-04-12 13:20:26 · 910 阅读 · 0 评论 -
【Python打卡2019】20190403之Python能干什么?
0.第一次打卡,没有进行实际代码的编写,简单介绍一下Python学习的方向吧,也就是说Python能干哪些事。这里参考了某个课程所做的分类,给出了以下几点:(括号中的内容是具体的示例和通俗解释)数据分析(数据可视化,比如生成图表等);自然语言处理(分词等,可以理解为断句);社交网络分析;人工智能(神经网络等);深度学习;计算机视觉(行人检测、人脸识别、人脸检测等);网络爬虫(爬...原创 2019-04-03 19:17:55 · 180 阅读 · 0 评论 -
【Python打卡2019】20190420之计算BMR-异常处理
0.在上一次计算BMR程序的基础上,加上异常处理;目的是解决用户的非正常输入。1.Python异常处理与Java类似,使用try,except,finally语句;try包含的语句是可能出现错误的程序片段;except跟着可能出现的异常,包含的是捕捉到对应异常的处理片段;finally包含的是无论是否出现异常都注定执行的内容。程序代码:""" --计算BMR,人体代谢率指数...原创 2019-04-20 16:54:12 · 275 阅读 · 0 评论 -
【Python打卡2019】20190421之52周存钱挑战
0.目标描述第一周存入10元,第二周存入20元,以此类推,直到第52周;输出每周存入金额及其账户总额;1.while实现""" 52周存钱挑战 每周增加10元 输出每周存入的钱和存款总数"""def main(): """ 主函数 """ current_week = 1 total_weeks = 52 ...原创 2019-04-21 11:43:40 · 639 阅读 · 0 评论 -
【Python打卡2019】20190425之n周存钱-用户输入日期识别当前周-datetime
0.任务描述在存钱挑战的程序当中,实现支持用户输入指定日期,以此日期计算当年所存入的全部金额(假设当年第一周开始存)。1.datetime介绍https://blog.youkuaiyun.com/cmzsteven/article/details/649062452.程序与结果""" 输出每周存入的钱和存款总数 使用list列表 for+range替换while 新...原创 2019-04-25 20:27:42 · 202 阅读 · 0 评论 -
【Python打卡2019】20190413之递归方法画五角星
0.先声明一下下,程序写的不是很好,但是递归的意思到了,所以暂时先不改了;1.下面看代码和运行情况吧:""" 多个五角星的绘制 递归函数实现 日期20190412"""import turtle #调用turtle函数库#画一笔def fd_right(fd_length,right_degree): turtle.fd(fd_length) ...原创 2019-04-13 22:52:30 · 871 阅读 · 0 评论 -
【Python打卡2019】20190422之52周存钱挑战-list列表的使用
0.任务描述本次主要目的是在之前的存钱程序当中,加入list;1.list介绍list的有序元素的集合;list可以通过list[index]的方式访问其中的元素;list可以存储不同类型的元素,比如[1,7.8,‘h’]本次的任务当中主要应用的是其中的append函数。2.程序与运行""" 52周存钱挑战 每周增加10元 输出每周存入的钱和存款总数 ...原创 2019-04-22 14:41:07 · 239 阅读 · 0 评论 -
【Python打卡2019】20190414之递归画树形图像
0.自己对写递归方法一直不灵活,可能是算法不太行,练习地也比较少,这一篇需要回头不断改进,先mark一下;1.思路、程序和运行结果思路思路上就是递归的思路:首先绘制左侧树枝,其次绘制右侧树枝,然后让画笔回原点。详细的下次在再分析:留个坑程序# 递归方法绘制分型树import turtledef draw_stick(branch_length, degree): if...原创 2019-04-14 22:26:47 · 449 阅读 · 0 评论 -
【Python打卡2019】20190417之计算BMR
0.开始的程序比较基础,因为是跟着课程走的,所以看后面的版本吧1.第一个版本程序:""" 计算BMR,人体什么什么指数"""def cal_BMR(gender, height, weight, age): """ 计算BMR函数 BMR:基础代谢率 :return:无 """ bmr = -1 ...原创 2019-04-17 20:23:10 · 418 阅读 · 0 评论 -
跳坑系列-Python爬虫中p标签NavigableString获取问题
0.问题描述在获取p标签中NavigableString内容时,使用p.string有时候会无法生效。原因应该是p标签当中出现了其他干扰标签,例如这位老哥https://blog.youkuaiyun.com/u012587107/article/details/80543977#commentsedit就遇到了br标签影响获取的情况。1.解决方法在评论区看到了使用p.get_text()代替p.st...原创 2019-08-10 23:31:54 · 4642 阅读 · 2 评论