好想学python公众号猜人_你要偷偷的学Python,然后惊呆所有人(第五天)

标题无意冒犯,就是觉得这个广告挺好玩的

前言

前期回顾:你要偷偷学Python,然后惊呆所有人(第四天)

在第四天的时候,我们接触了Python的模块调用,这也是Python能够火起来的一大优势。我们还实践了csv模块。

不过冷静下来想想,这样的速度会不会有点过于快了,这样速成的话势必会遗漏掉不少的知识点,而且也有不少小伙伴来问我Python相关的问题。如果大家在学习中遇到困难,想找一个python学习交流环境,可以加入我们的python圈,裙号930900780,可领取python学习资料,会节约很多时间,减少很多遇到的难题。

(tip:言下之意就是:可以和一群有趣的灵魂一起学习有趣的技能,而且讲的也会更全面详细的啦)

好的接下来依旧是那段“高冷的”台词:

本系列文默认各位有一定的C或C++基础,因为我是学了点C++的皮毛之后入手的Python。本系列文默认各位会百度,学习‘模块’这个模块的话,还是建议大家有自己的编辑器和编译器的,上一篇已经给大家做了推荐啦?本系列也会着重培养各位的自主动手能力,毕竟我不可能把所有知识点都给你讲到,所以自己解决需求的能力就尤为重要,所以我在文中埋得坑请不要把它们看成坑,那是我留给你们的锻炼机会,请各显神通,自行解决。1234567

好,这是一篇复习文,坐好咯,打开你们的编译器,不论是在线编译器还是PC编译器

print

其实我不知道print函数要不要试一下,是挺简单的,不过嘛,也是有那么些坑坑洼洼的哦。

比方说打这个出来:

*

*  *’***  ’  *  *  ****  ***12345

你会发现打的是什么鬼。

这里想说的是print函数在处理tab键上要注意的点。

以及对打印引号的处理办法。

转义字符

\n 代表换行;’ 代表单引号。

三引号

三引号可以把内容里的单引号打印出来且可以换行。

字符串拼接

给你一些变量如下:

name='祖冲之'contribute ='计算出了π'than ='虽然我记不住,但是我知道整数部分是'number ='3.14'1234

请你打印出以下这句话:“祖冲之计算出了π,虽然我记不住,但是我知道整数部分是3”。

条件判断与循环语句

其实条件判断与循环语句上次是有写过了,那个猜数字的,也有些基础好的朋友就直接调用了random包,很强。

但也不是所有人基础都好的嘛,所以之前没有用随机数而是用伪随机数的朋友就再做一次吧,

这样吧,我们换个玩法。

题目需求:

1、这个数介于1~10002、你可以猜个数,系统告诉你偏大偏小并会压缩范围3、你可以让系统在这个数的左右各压缩一次随机范围,碧如说现在这个数的范围为1~500,数是100,那么你选择压缩一半范围之后系统就会告诉你(20~300),这样的4、你可以让系统告知你奇偶数,这个条件不作为重新划分区间的办法以上,2、3分别可以使用4次,4可以使用1次,猜中,就是猜中了,猜不着,那也很正常嘛哈哈哈123456

列表与字典

写了上面那个题目,估计大家也挺累的,到这里大家放松一下,可以自己去找一些列表啊、元组啊、字典啊的方法。

当然,我们的学习群里会详细的介绍到。

注:列表和字典都是可任意嵌套的,可以同时包容不同类型的数据(如字符串、字典、列表等)。

所以,在提取数据时,要留意每个字符串都占据了一个偏移量。

函数与类

哎呀,想创意好累哦,差点我就放弃了,想让你们把上面那个猜数字的封装一个函数,然后把函数放类里面。

不过,啊哈,灵机一动。

要不咱写个抽奖程序吧,这样,听我说:

1、来一个字典存名字(号码牌+名字),来一个列表存礼品2、先挑一个礼品出来,然后从这个字典中随机抽一个号码牌,抽到谁的号码牌,礼品就是谁的了3、以此类推,直到礼品发完4、发礼品是要纪录的啊,到时候找财务报销嘛,这个账单要求是不可修改的,那怎么办呢?对,元组5、如果要搞得逼真一点,可以设置一个定时器,时间到了亮结果,当然,我们先不弄那个轮盘转转转的12345

加油!!!

至于类嘛,把这个功能和上边那个猜数字的整理到类里面嘛

模块

模块是吗?前面用了几个模块了来着?这里再用一个吧,把礼品发放记录的文件用Excel存起来吧,用openpyxl模块吧。

图片之后我会放上我的一些解答:

猜谜游戏

勉强能看啦,算法部分还可以优化,不过有点腰酸背痛,就,嗯。

import randomclassGuessNum:def__init__(self,max,min):self.max = maxself.min = minself.num_func1 =4#方法1:猜大小self.num_func2 =4#方法2:压缩一半大小self.num_func3 =1defNum(self):        random.seed()self.num = random.randint(self.max,self.min)returnself.numdeffunc1(self,guess):ifself.num_func1 ==0:            print('抱歉,机会已用完')else:self.num_func1-=1;ifguess >self.num:print('太大了哦,再来一次吧')self.max = guess            elif guess

抽奖模块

我们假设这个礼品已经选好了,代码是前面那个猜谜的提升版啊,重点我们放在那个Excel上。

有这么几个获奖幸运儿:

("小王:CSDN定制双肩包","小李:腾讯云社区定制T恤","小吴:异步社区会员月卡一张","小刘:冬天的第一锅火锅")123456

好,我们现在给它写进Excel里面。

(本来想留个坑,想了想,还是填上了,略显尴尬,调了十分钟,最后发现元组里面忘记加逗号了。。。)

第一步:pip install openpyxl

创建一个Excel表格这点儿事儿我就不说啦,我们打开编辑器,我的是pycharm,导入新包,因为openpyxl不是它自带的啊

所以你直接import是会报错的(我已经安装好了)

那怎么安装呢?

如果不是用pycharm的朋友请看我小标题那条语句,在cmd终端中执行。

用pycharm的跟我做:

左上角,“File”->“setting”->

知道在哪儿啊,不用我多说啊。

然后右上角那个圈出来的“+”点一点->

先在上面的搜索框输入咱要的,也就是openpyxl

然后再下面弹出来的选中它,接着左下角,install。

它就会开始:installing,下载完它会告诉你下载完,没跟你说的话就要脑子灵光点了,然后退出的时候记得apply一下,上边那个有“+”号的那个界面,右下角,“Apply”,千万记得。

importdatetimefromrandomimportchoicefromtimeimporttimefromopenpyxlimportload_workbookfromopenpyxl.utilsimportget_column_letter# 设置文件 mingcaddr ="抽奖程序.xlsx"# 打开文件wb = load_workbook(addr)# 创建一张新表ws = wb.create_sheet()# 第一行输入ws.append(['获奖名单','奖品'])##元组tump = ("小王:CSDN定制双肩包","小李:腾讯云社区定制T恤","小吴:异步社区会员月卡一张","小刘:冬天的第一锅火锅")# 输入内容(500行数据)foriintump:#print(i)data = i.split(':')#print(data[0]+data[1])ws.append([data[0], data[1]])# 获取最大行row_max = ws.max_row# 获取最大列con_max = ws.max_column# 把上面写入内容打印在控制台forjinws.rows:# we.rows 获取每一行数据forninj:print(n.value, end="\t")# n.value 获取单元格的值print()# 保存,save(必须要写文件名(绝对地址)默认 py 同级目录下,只支持 xlsx 格式)wb.save(addr)

最后多说一句,想学习Python可联系小编,这里有我自己整理的整套python学习资料和路线,想要这些资料的都可以进q裙930900780领取。

本文章素材来源于网络,如有侵权请联系删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值