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