Python课程天花板,Python入门+Python爬虫+Python数据分析5天项目实操/Python基础.Python教程

作者: IT私塾分类: 计算机技术 发布时间: 2020-03-21 00:58:08 浏览:4538290 次

Python课程天花板,Python入门+Python爬虫+Python数据分析5天项目实操/Python基础.Python教程

梅子炒蛋:
for 循环 99乘法表 for x in range(1,10): print("\t") for y in range(1,x+1): result = x * y print("%d * %d = %d"%(x,y,x*y),end="\t")

【回复】回复 @没羽 :我来解答你的换行符 for x in range(1,10): for y in range(1,x+1): print(y,'*',x,'=',end='\t') print(x*y,end='\n') 切换print的end参数\t和\n你会发现这两个运算符的不同
【回复】回复 @行走在天边 :我来解释一下吧(之前也不理解): print函数默认在结尾输入end='\n',也就是换行。所以实际我们每次输入的print函数都是自带换行的 比如命令:print(a=2),其实系统读到的是:print(a=2,end='\n') 所以命令:print('\n'),其实系统读到的是:print('\n',end='\n'),所以这个指令其实是告诉系统换两行 这也解释了为什么你把第二行代码中的t换成n 发现是间隙变大的视觉效果(因为换了两行,所以不紧凑) 而命令:print('\t'),系统读到的是:print('\t'.end='\n'),相信到这大家也明白了,这个意思空4个格,换一行 总结:1、print函数默认自带换一行,如果输入\n,系统会换两行 2、第二行代码的目的是换一行,所以也可以改成print(''),意思是print('',end='\n'),表示啥也不输 入,给你换一行
【回复】result = x * y 这一行好像多余了,应该可以删掉?
终是蝶衣梦晓楼:
学在基础,做在爬虫,提升于数据分析,完善于可视化,死于人工智障 [doge]

【回复】近期学习心得体会分享[囧]
【回复】人工智能研究的数学,不是计算机了
懂滴滴:
感谢up主的教学,学完之后整理了一下自己的作业答案,给以后学习的小伙伴参考 答案都是根据视频学习进度写的,没有超纲知识,同时有不懂的朋友可以交流一下 ①猜拳游戏 https://blog.csdn.net/wzh365979633/article/details/107465836 ②打印九九乘法表 https://blog.csdn.net/wzh365979633/article/details/107466480 ③购物车 https://blog.csdn.net/wzh365979633/article/details/107467356 ④老师分配进房间 https://blog.csdn.net/wzh365979633/article/details/107467752 ⑤写古诗+复制 https://blog.csdn.net/wzh365979633/article/details/107468064

【回复】回复 @Fierce丿灬 :猜拳游戏 这样会不会好点 import random x=random.randint(0,2) a=int(input("请输入:剪刀(0)、石头(1)、布(2):")) if 0<=a<=2: if a>x: if a-x==1: print("你赢了") else: print("哈哈,你输了") elif a==x: print("平手") else: if x-a==1: print("哈哈,你输了") else: print("你赢了") print("电脑出的:",x) else: print("请重新输入")
【回复】import random print("石头为0,剪刀为1,布为2") i = input("请输入一个数:") c = int(i) computer = random.randint(0, 2) r = computer - c if c > 3 or c < 0: print("您的输入不合法") elif r == 1 or r == -2: print("你赢啦!计算机出的是%d" % computer) elif r == 0: print("平局!计算机出的是%d" % computer) elif r == -1 or r == 2: print("输了!计算机出的是%d" % computer)
【回复】回复 @_西瓜吖 :from random import* a=randint(0,2) b=eval(input("0代表石头,1代表剪刀,2代表布。请输入数据")) if a==b: print("平局") elif b==0: if a==2: print("你输了,电脑出布战胜了你") else : print("你赢了,电脑出剪刀输给了你") elif b==1: if a==2: print("你赢了电脑出布输给了你") else : print("你输了,电脑出石头战胜了你") elif b==2 : if a==1: print("你输了,电脑出剪刀战胜了你") else : print("你赢了,电脑出石头输给了你")
IT私塾:
[弹幕破百亿]粉丝互助群与课件资料获取,请加关注官方微信公共号「我的IT私塾」←认准哦[保卫萝卜_笔芯] Python数据分析/机器学习介绍:https://www.bilibili.com/video/BV1LQ4y1m717?spm_id_from=333.999.0.0 爬虫课后作业讲解:https://www.bilibili.com/video/BV18r4y1F7BR?spm_id_from=333.999.0.0 异步动态爬取: https://www.bilibili.com/video/BV1ty4y1z7VK?spm_id_from=333.999.0.0 WEB前端开发:https://www.bilibili.com/video/BV1b5411T7mq?spm_id_from=333.999.0.0 MySql:https://www.bilibili.com/video/BV1dT4y1N7UR?spm_id_from=333.999.0.0 计算机网络基础:https://www.bilibili.com/video/BV1ew41197Wn?spm_id_from=333.999.0.0 Python与JAVA搭配学习: https://www.bilibili.com/video/BV1Qy4y1z7Ej?spm_id_from=333.999.0.0 Python学习方向:https://www.bilibili.com/video/BV1fo4y1D7QP?spm_id_from=333.999.0.0Pyth Python版本选择:https://www.bilibili.com/video/BV1n64y1X78H?spm_id_from=333.999.0.0

【回复】希望以后能出C语言的视频
【回复】一定三联,不然视频就沉下去了~[脸红]
【回复】回复 @冰苏打的小面包 :视频评论区置顶消息
IT私塾:
[OK]给大家出一道Python基础的综合练习题,这道题考查的是思路,估计实现需要100多行代码,不同的人有不同的方法,我们将在最近上传一个视频专门讲解这道题,大家可以先自己试着做做! 题目:完成用户注册/登陆功能。 ****************************** 操作编码 操作 【0】 注册 【1】 登录 ****************************** 请输入你要进行的操作编码: • 注册: (1)提示用户输入,用户名和密码,其中密码需要输入2次。 提示用户名只能为字母、下划线和数字;密码不能超过8位,密码只能为数字或大小写字母 (2)注册成功后,账户密码记录在文件中 (user.txt) 内容格式可以为 姓名:密码 (3)用户名不能重复。输入用户名重复,需要提示用户重新输入。 --------------注册-------------- 请输入用户名:abc 用户名已存在 请重新输入用户名: (4)检测两次密码如果不同,提示两次密码不一致, 检测两次密码如果相同,确认注册成功。 --------------注册-------------- 请输入用户名:abc 请输入密码:123456 请再次输入密码:654321 密码不一致 请再次输入密码: • 登陆: (1)用户登录时,进行三次校验,都不对,记录黑名单。 黑名单保存在文件中:blacklist.txt --------------登陆-------------- 请输入用户名:abc 请输入密码:123456 密码不正确 请再次输入密码:654321 密码不正确 您还有1次机会 请再次输入密码:987654 密码3次错误,禁止登陆,请联系管理员。 (2)如果是黑名单的用户,则禁止再次登录

【回复】这个简单,我用scratch很快就做出来了[doge]
【回复】讲解视频https://www.bilibili.com/video/BV1Yh411D73i?spm_id_from=333.999.0.0
【回复】新增了用户和密码修改功能,还有注销功能,最后写了240行[doge]
cellocelloer:
剪刀石头布作业,还行吗 Enter = int(input("请输入:剪刀(0),石头(1),布(2):")) import random x=random.randint(0,2) print("随机生成数字为:",x) if x == Enter: print("打平") else: if x == 0: if Enter == 1: print("赢了") elif Enter == 2: print("哈哈,你输了") elif x == 1: if Enter == 2: print("赢了") elif Enter ==0: print("哈哈,你输了") else: if Enter == 0: print("赢了") elif Enter == 1: print("哈哈,你输了")

【回复】太复杂了 import random print("请输入:剪刀(0),石头(1),布(2);") a=int(input("")) print("你的输入为",a) x=random.randint(0,2) print("随机生成一个数字",x) if a==x: print("打成平手") elif a-x==1 or a-x==-1: print("你赢了") else: print("你输了")
【回复】回复 @不甘愿当一个fw :import random x=random.randint(0,2) y=int(input("请输入数字:")) #print(type(y)) print("随机数字:",x) print("您输入的数字:",y) if y>2: print("超出该范围数字无法进行对比") elif y>x: print("V") elif y==x: print("P") else: print("D")试试我的
【回复】回复 @三小鸡夹苯 :#0剪刀,1石头,2布 import random x=random.randint(0,2) y=int(input("请输入数字:")) #print(type(y)) print("随机数字:",x) print("您输入的数字:",y) if y>2: print("超出该范围数字无法进行对比") elif x==1: #随机数石头1 if y==2: #用户输入2布 print("您出的:布您赢了 系统:石头") if y==0: #用户输入0剪刀 print("您出的剪刀您输了 系统:石头") elif x==y: print("平局") elif x==2: #系统随机数布2 if y==1: #用户输入1石头 print("您出的石头您输了 系统:布") elif x==y: print("平局") elif x==0: #系统随机数剪刀0 if y==1: #用户输入石头1 print("您出的石头您赢了 系统:剪刀") elif x==y: print("平局") 多谢指导您再看看
轻灰木屋:
豆瓣top250爬虫学完常见错误的小白卑微总结:1. 源代码可以在置顶的q群里找,但是是有误的 @IT私塾 ,第118行(def saveData下的sheet.write行)原为“(j+1,j,data【j】)”应该改为“(i+1,j,data【j】)”否则写入的文件只有对角线上的单元格有内容(因为写入内容的行是j+1,列是j); 2. 写入文件时index out of range错误,除了在视频p25 18:40 处的弹幕找答案,还可能是i 或j的range设置有误,在“def saveData”下面找到你对i和j的范围定义,如果你爬了八种信息(电影详情链接、图片链接……),那么第一个i必须是0到8,j也必须是0到8,如果你爬了10页(有的人可能只爬了一页,注意要改回10页),第二个i必须是0到250: for i in range (0,7): sheet.write(0,i,col【i】) for i in range (0,250): print ("第%d条"%(i+1)) data_2 = datalist 【i】 for j in range (0,7): sheet.write(i+1,j,data_2【j】) 3. 如果爬出来的信息中有额外的冗余字符(比如视频中的\xa0,老师并没有说怎么去掉),同时你已经在解析数据对应的代码中使用replace替换了别的字符,那么注意,replace一次只能换一个字符串,如果你还想换别的字符串,可以连着使用replace: otitle = title【1】.replace("/", "").replace("\xa0","") #在data中写入外文影名时删去“/”和“\xa0”

【回复】回复 @1渐入佳境1 :如果你说的超出范围是指inq(即一句话简介那个地方的报错,比如希望让人自由)的报错,你可以把inq单独输出看看结果,你会发现有的电影是没有这句话的,此时自然会报错,改也很简单,把inq模块替换成如下: inq=re.findall(findInq,item) # print(inq) if len(inq) !=0 : inq=inq【0】.replace("。","") #去掉句号 data.append(inq) # 添加概述 else: data.append(" ") #留空 那么就不会报错了
【回复】都对应修改了,但是还是超出范围[大哭]
【回复】回复 @冥界妖仙 :解决了,我是因为在getData函数里,空格没有跟视频中对齐的原因,你排查问题的话可以依次把爬到的数据依次打print出来看一下,或者把datalist也打出来看一下,如果都是正常的,那说明就是datalist.append(data),这一段函数他没有放进去导致的原因,也就是我说的空格问题
TestFlight27:
第五节课的课后习题,把前几节课的都运用上了,顺便利用减法判断减少了一些代码量。 import random user = 0 pc = 0 x = int(input("请输入:剪刀(0)、石头(1)、布(2):")) if x == 0: user = "剪刀" elif x == 1: user = "石头" elif x == 2: user = "布" t = random.randint(0, 2) if t == 0: pc = "剪刀" elif t == 1: pc = "石头" elif t == 2: pc = "布" if x in (0, 1, 2): if (x - t) in (1, -2): print("您出的是:", user, ",电脑出的是:", pc, ",因此您赢了!", sep="") elif x == t: print("您出的是:", user, ",电脑出的是:", pc, ",因此平局!", sep="") else: print("您出的是%s,电脑出的是%s,因此您输了!" % (user, pc)) else: print("输入无效,请检查!")

【回复】![打call]你们好厉害 我写的小白[捂眼][捂眼][捂眼] a=int(input("请输入:剪刀(0)、石头(1)、布(2):")) print('你的输入为:%d'%a) import random c=random.randint(0,2) print("随机生成的数字为:%d"%c) if a==1 and c==1: print("呜呼!平手~") elif a==0 and c==0: print("呜呼!平手~") elif a==2 and c==2: print("呜呼!平手~") elif a==0 and c==1: print("哈哈,你输了(*^▽^*)") elif a==1 and c==2: print("哈哈,你输了(*^▽^*)") elif a==2 and c==0: print("哈哈,你输了(*^▽^*)") elif a==0 and c==2: print("呦呵,你赢了!!!∑(゚Д゚ノ)ノ") elif a==1 and c==0: print("呦呵,你赢了!!!∑(゚Д゚ノ)ノ") elif a==2 and c==1: print("呦呵,你赢了!!!∑(゚Д゚ノ)ノ")
【回复】回复 @见冰果子 :平局的话可以用a == c,简洁两句话[doge][doge][doge]
【回复】a = input("请任意输入剪刀(0)、石头(1)、布(2)后的数字:") a = int(a) if a == 0 : print("您的输入为剪刀") elif a == 1 : print("您的输入为石头") else : print("您的输入为布") import random x = random.randint(0,2) if x > a : if a == 0 and x == 1: print("系统随机生成石头,您输了") elif a == 0 and x == 2 : print("系统随机生成布,您赢了") else : print("系统随机生成布,您输了") elif x < a : if x == 0 and a == 1: print("系统随机生成剪刀,您赢了") elif x == 0 and a == 2 : print("系统随机生成剪刀,您输了") else: print("系统随机生成石头,您赢了") else : print("您的输入和系统的一样,平局")
账号已注销:
P14文件处理作业: def writeFile(filename,content): f = open(filename,"w") for i in content: f.write(i) f.close() def readFile(filename): f = open(filename,"r") contents = f.readlines() return contents f.close() gushi = 【"日照香炉生紫烟\n","遥看瀑布挂前川\n","飞流直下三千尺\n","疑似银河落九天\n"】 writeFile("gushi.txt",gushi) contents = readFile("gushi.txt") copy = 【】 for content in contents: copy.append(content) writeFile("copy.txt",copy)

【回复】def writefile(gushi): f = open("gushi.txt","w",encoding='utf-8') for i in gushi: f.write(i) f.write('\n') f.close() def readfile(): f = open("gushi.txt","r",encoding='utf-8') copy1=f.readlines() f.close() f = open("copy.txt","w",encoding='utf-8') for i in copy1: f.write(i) f.write('\n') f.close() str = ["床前明月光","疑似地上霜","举头望明月","低头思故乡"] try: writefile(str) readfile() except Exception as result: print(result) finally: print("结束运行")
【回复】def writeFile(filename,content): f = open(filename,"w") f.write(content) f.close() def readFile(filename): f = open(filename,"r") contents = f.read(-1) return contents f.close() gushi = "日照香炉生紫烟,\n遥看瀑布挂前川,\n飞流直下三千尺,\n疑似银河落九天." writeFile("gushi.txt",gushi) contents = readFile("gushi.txt") writeFile("copy.txt",contents) 这样好像更简单一些
【回复】回复 @Corey_sjs :可以读写时候指定格式utf-8,比如w=open("gushi.txt","r",encoding='utf-8')
Vivian小姐yu:
感谢up主的教学,下面是我根据课堂整理的笔记,包括课后练习还有老师上课讲的代码,希望可以帮助到有需要的人。 Python知识点1:基本输入输出、条件判断语句(if): https://blog.csdn.net/qq_43819274/article/details/108371858 Python知识点2:循环语句(while、for、break、continue): https://blog.csdn.net/qq_43819274/article/details/108372498 Python知识点3:字符串: https://blog.csdn.net/qq_43819274/article/details/108386081 Python知识点4:列表: https://blog.csdn.net/qq_43819274/article/details/108391063 Python知识点5:元组、字典、集合: https://blog.csdn.net/qq_43819274/article/details/108457533 Python知识点6:函数相关知识: https://blog.csdn.net/qq_43819274/article/details/108461657 Python知识点7:文件操作: https://blog.csdn.net/qq_43819274/article/details/108463157 Python知识点8:错误与异常处理: https://blog.csdn.net/qq_43819274/article/details/108464850

IT私塾:
[弹幕破百亿]粉丝互助群与课件资料获取,请加关注官方微信公共号「我的IT私塾」←认准哦[保卫萝卜_笔芯] [滑稽]其他好课推荐: Python语言精讲:https://www.bilibili.com/video/BV1yY4y1w7r8?p=2&share_source=copy_web&vd_source=e2d2a729c29947d879ba7b1136485a47 B站课堂数据分析:https://www.bilibili.com/cheese/play/ss827?bsource=link_copy B站课堂前端基础:https://www.bilibili.com/cheese/play/ss313?bsource=link_copy

【回复】回复 @让往事随风的心痛 : hxd能发我一份源码吗
【回复】回复 @C1777777777 :还需要吗
【回复】回复 @让往事随风的心痛 : 大侠有资料和源码吗
真的是小白呀:
python爬虫课,爬取豆瓣电影网top50,有没有人遇到这个问题,求大佬解答呀 File "C:/Users/Administrator/PycharmProjects/douban/spider.py", line 108, in <module> main() File "C:/Users/Administrator/PycharmProjects/douban/spider.py", line 10, in main datalist = getData(baseurl) File "C:/Users/Administrator/PycharmProjects/douban/spider.py", line 41, in getData link = re.findall(findLink,item)【0】 #re库用来通过正则表达式查找指定类型的串 IndexError: list index out of range

【回复】Traceback (most recent call last): File "f:\Programming\Python\Douban\spider.py", line 130, in <module> main() File "f:\Programming\Python\Douban\spider.py", line 19, in main datalist = getData(baseurl) File "f:\Programming\Python\Douban\spider.py", line 75, in getData data.append(titles【0】) IndexError: list index out of range
【回复】回复 @绵绵ez :索引越界了,link = re.findall(findLink,item)【0】这句在获取数据时有部分数据为空导致的,可以加个判断len(link)>0,link = re.findall(findLink,item)【0】
【回复】getdata函数那里的缩进错误 我就是这个问题改了空格就好了
君在粤B:
购物作业(只能写成这样了。。。) products = [【"iphone",6888】,【"MacPro",14800】,【"小米6",2499】,【"Coffee",31】,【"Book",60】,【"Nike",699】] print("----- 所有商品列表 -----") for i in range(0,len(products)): print(i,products【i】【0】,products【i】【1】,end="\n") bag = 【】 money = 【】 i = 1 while i < 7 : que1 = int(input("请输入想要购买的商品编号:")) bag.append(products【que1】) i = i + 1 que2 = input("是否继续选购:") if que2 == "是": continue else: print("您购买的商品列表如下:") for i in range(0, len(bag)): print(i, bag【i】【0】, bag【i】【1】, end="\n") money.append(bag【i】【1】) sum_m = sum(money) print("总金额为%d,欢迎下次光临!"%sum_m) break

您的昵称已被占用QAQ:
对于下载第三方安装包速度慢的问题,建议在Terminal中使用命令语句:pip install 安装包名称 -i https://mirrors.aliyun.com/pypi/simple/ 进行下载,这个是国内镜像,下载速度比较快。顶我上去让更多人看到[微笑]

【回复】我没有解释器怎么解决啊。。
hjsoain:
x = int(input("请输入:剪刀0、石头1、布2:")) import random m = random.randint(0,2) if m == 0: print("你的对手出了剪刀") elif m == 1: print("你的对手出了石头") else: print("你的对手出了布") if x == 0: if m == 1: print("你赢了") elif m == 0: print("再来一局") elif m == 2: print("你输了") elif x == 1: if m == 1: print("再来一局") elif m == 0: print("你赢了") elif m == 2: print("你输了") elif x == 2: if m == 1: print("你赢了") elif m == 0: print("你输了") elif m == 2: print("再来一局") else: print("输入有误")

【回复】我想到一个简单办法, if x-m==1 or x-m==-2: print(‘你就赢了’) elif x-m==0: print(‘平局’) else: print(‘你输了’)
【回复】a = int(input("请输入0 1 2 代表剪刀石头布:")) if a == 0: s = "剪刀" elif a == 1: s = "石头" elif a == 2: s = "布" else: print("你的输入有误!") exit(0) print("你的输入为:%s(%d)" % (s, a)) r = random.randint(0, 2) print("随机生成数字为:%d" % r) if (a + 1) % 3 == r: print("哈哈,你输了") elif a == r: print("平局") else: print("你赢了!")
【回复】回复 @Ro-ad :我就说总感觉有点不对。把输入0-2之外的也改下
N2南岳关山:
基本看完了!还看了后来异步爬取的补充内容!感谢老师! 我是数学专业的大三学生,对这方面其实比较小白,但学下来确实很顺畅。在我看来,您的视频最大的优点是讲解思路很清晰生动,几乎一句废话没有,而且好像您也没有准备很多文稿什么的,我觉得这就是水平,真的很厉害。我也看过B站很多其他的计算机教程,很多真的太啰嗦了,1.5倍速都嫌信息量太少。 最后祝您课程越办越好![打call]

【回复】回复 @Devil517 :视频评论区置顶消息
【回复】回复 @IT私塾 :弱弱问一下粉丝群号是多少 我想进群找点资源
我帮朋友看看:
建议阿婆再把视频细分一下,我一般看完视频再切软件自己动手试一下,视频长了很容易把前边的忘了,又要切回视频慢慢往前翻,这样效率不太高[tv_流泪]如果整个14分钟左右的视频,只讲清楚一个知识点,我觉得会很容易接收,望采纳一下[doge][doge][doge][doge]

【回复】大佬,小弟都是用win10左右分屏做的[微笑]
【回复】回复 @贝木·战场原 :我笔记本 不外接显示器分屏看着很累[tv_流泪]
qzp51zx:
本人学习视频,写出了对应的笔记,想要的可以根据以下地址查看,希望可以帮助到你,https://blog.csdn.net/qzp51zx/category_10383712.html

程序员 IT 技术宅 数据可视化 电脑 数据分析 Python Python爬虫 Python基础 Python编程

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

更多相关阅读