Python中级(3)

看懂这篇文章,你就达到了中级Python程序员的水平 今天在OpenHatch上找到一个涉及到很多Python知识点的问题,这个问题写着适于中级水平的Python程序员自测,需求是编写一个带评分功能的英文填字图版游戏,我尝试用2.7版本的Python对其进行了编码。 如果有想学习python的程序员,可来我的python学习扣qun:835017344,免费送python的视频教程噢!我每晚上8点还会在群内直播讲解python知识,欢迎大家前来学... 阅读详情

                     第十二章——循环(1)— for 循环(1)

        大家好,欢迎继续来学习Python。现在,我们已经学会了 if 判断、比较运算符、ASCII码、input 函数、算术运算符、print 函数等。那接下来,就让我们继续踏入Python,来学习循环吧。

        Python中有两种常见的循环,还有一些不常见的循环。今天,我们要来学习最简单的,常见的一种循环—— for 循环。for 循环,就是你要给它一个次数,你让它循环几次,它就循环几次。格式是:"for i in range(次数):" 比如:

for i in range(5): # 重复执行五次
    print("你好") # 打印你好

        这段代码就打印了5次"你好"。当然,次数可以自己定,里面的内容也是自己写。

        for 循环怎么退出呢,要用 break 。比如:

for i in range(5): # 重复执行5次
    print("你好") # 打印你好
    break # 退出循环

        这段代码就只打印了1次"你好",是因为在打印1次"你好"之后就退出了循环。

        还要注意的是,那个 i 是一个变量,不用提前赋值。你可以随便写一个变量,比如说"for jk in range('次数')",还比如说"for k in range('次数')",都可以。

        好,今天的内容就这么多,接下来是作业:

一、选择题

        1.下面代码执行后,结果是()? (5%)

for i in range(10):
    print("你们好吗?")
    break

        A.你们好吗?

           你们好吗?

           你们好吗?

           你们好吗?

           你们好吗?

           你们好吗?

           你们好吗?

           你们好吗?

           你们好吗?

           你们好吗?

        B.你们好吗?

        C."你们好吗?"

        D.你们好吗? break

            你们好吗? break

            你们好吗? break

            你们好吗? break

            你们好吗? break

            你们好吗? break

            你们好吗? break

            你们好吗? break

            你们好吗? break

            你们好吗? break

        2.for 循环的 i 能不能改成ttt()? (5%)

        A.能

        B.不能

        C.看里面的内容

二、判断题

        1.for 循环的 i 不能换成其他的字母。                                                                            ()   [5%]

        2.break 能退出 for 循环。                                                                                             ()   [5%]

三、编程题

        我要给你打几个招呼才行?

1.让用户输入一个数字,并赋值给a。 (30%)

2.重复执行 a 次打印"你好"。 (50%)

输入样本1:

3

输出样本1:

你好

你好

你好

输入样本2:

5

输出样本2:

你好

你好

你好

你好

你好

参考答案:

一、

        1.B

        2.A

二、

        1.×

        2.√

三、

a=int(input("我要给你打几个招呼?")) # 让用户输入一个数字a 并赋值给a
for i in range(a): # 重复执行 a 次
    print("你好") # 打印 你好

                    第十三章——循环(1)— for 循环(2)

        大家好,欢迎继续来学习 Python 。昨天,我们已经认识了 for 循环,那今天,我们来深入的学习 for 循环。

        来,我们来看一下 for 循环中的 i (变量,也可以自己定,比如 j k number 等)是怎么变化的。比如下面这段代码:

for i in range(10): # 重复执行10次
    print(i) # 打印 i

        我们发现,这段代码的结果为:

0

1

2

3

4

5

6

7

8

9

        也就是说, i 开始的值为0,最后的值是10-1=9,所以我们知道, i 永远不会到那个重复执行的次数。那我们如何让 i 达到那个次数呢?那我们就要重复执行11次,也就是:

for i in range(11):
    print(i)

        这段代码的结果是:

0

1

2

3

4

5

6

7

8

9

10

        这样,我们就成功实现了让 i 加到10,但这段代码执行了11次,那怎么让它以1开头呢?我们就要在 range 里面写两个参数了。第一个参数指用几开头,第二个参数指用几结尾,但是不会取到第二个参数,两个参数用 "," 隔开,而且左闭右开,取得到第一个参数,取不到第二个参数。知道了这个,我们就能实现从1打印到10了:

for i in range(1,11):
    print(i)

        这段代码的效果就是:

1

2

3

4

5

6

7

8

9

10

        你看,从1打印到10我们就实现了。那如果我要打印0到20的所有的偶数呢?是不是还要加一个参数呢?哎,你别说,还真是,我们还要加一个参数。第一个参数和第二个参数和以前一样,第一个参数指用几开始,第二个参数指用几结束,两个参数用逗号隔开,也是左闭右开。那第三个参数呢?第三个参数指步长,意思就是说让变量(i,j,k,number等)每次增加几。打印0到20的所有偶数,相当于从0开始,到20结束(由于左闭右开,所以要写20+1,也就是21),每次增加2,代码就是:

for i in range(0,21,2):
    print(i)

        这段代码的效果是:

0

2

4

6

8

10

12

14

16

18

20

        你看,就打印了0到20的所有偶数,如果我们不用这个步长,那代码就要长一点点了:

for i in range(0,11):
    print(i*2)

        虽然现在不用步长和用步长的代码长度没有什么区别,但之后我们写大项目,区别可就大了。所以,我们现在就要养成能缩一点就缩一点。

        还要注意的是 for 循环最多3个参数,不能更多了。

        好,今天我们就学到这里,接下来是作业:

一、选择题

        1. for 循环的括号里面最多()个参数? (5%)

        A.1

        B.2

        C.3

        D.4

        2. for 循环的第2个参数指()? (5%)

        A.次数

        B.开始的数字

        C.步长

        D.结束的数字

        3. for 循环的第()个参数指步长? (5%)

        A.1

        B.2

        C.3

        D.看情况

二、判断题

        1. for 循环最多有4个参数。                                                                                           ()   [5%]

        2. for 循环的第1个参数指步长。                                                                                   ()   [5%]

三、填空题

        1. for 循环的第1个参数指(),第2个参数指(),第3个参数指()? [15%,每空5%]

四、编程题

        0到几的所有偶数?

1.让用户输入一个数字并赋值给 number 。 (10%)

2.输出0到 number 的所有偶数(含0和number)。 (30%)

3. for 循环里面用3个参数。 (20%)

输入样本1:

8

输出样本1:

0

2

4

6

8

输入样本2:

11

输出样本2:

0

2

4

6

8

10

参考答案:

一、

        1.C

        2.D

        3.C

二、

        1.×

        2.×

三、

        1.开始的数字   结束的数字   步长

四、

number = int(input())
for i in range(0,number+1,2):
    print(i)

                    第十四章——循环(2)— while 循环(1)

        大家好,欢迎继续来学习Python。昨天和前天呢,我们学习了 for 循环。那今天,我们就来学习另一种循环—— while 循环。我们以前学习的 for 循环,是你给他一个次数,它重复执行次数次代码。而今天的 while 循环是你给他一个条件,如果条件为 True ,就执行循环里的代码,一直循环,直到条件为 Falae ,就跳出整个循环,也就是不执行循环里面的代码了。比如我们要用 while 循环打印从1到10的所有自然数:

i = 1
while i <= 10:
    print(i)
    i+=1

        这段代码的意思是,开始让 i = 1,然后如果 i <= 10,那么打印 i ,再让 i 加1,效果就是:

1

2

3

4

5

6

7

8

9

10

        还要注意的是,while 循环和 for 循环不一样,不能加次数,而且它们都属于循环结构。

        你看,是不是打印了1到100的所有自然数?

        好,今天的内容就这么多,下面是作业:

一、选择题

        1. while 循环()次数? (5%)

        A.不能加

        B.要加

        C.看情况加不加

        

        2. while 循环的条件为()时不执行循环里面的代码? (5%)

        A.True

        B.False

        C.and

        D.not

        3.下面代码执行后,结果为()? (5%)

i = 0
while i < 10:
    if i % 2 == 0:
        print(i)
    i += 1

        A.

2

4

6

8

10

        B.

0

2

4

6

8

10

        C.

0

1

2

3

4

5

6

7

8

9

        D.

0

2

4

6

8

二、判断题

        1. while 循环必须加条件。                                                                                            ()   [5%]

        2. while 循环不能加次数。                                                                                            ()   [5%]

三、填空题

        1. for 循环属于()结构, while 循环属于()结构, if 判断属于()结构。 [15%,每空5%]

四、编程题

        快输'0'!

1.重复执行,让用户输入一个字符串,并赋值给a。 (15%)

2.如果 a 等于 '0',那么结束程序。(15%)

3.否则继续循环。 (15%)

4.用 while 循环。 (15%)

参考答案:

一、

        1.A

        2.B

        3.D

二、

        1.√

        2.√

三、

        1.循环 循环 选择

四、

a = ''
while a != '0':
    a = input()

                    第十五章——循环(2)— while 循环(2)

        大家好,欢迎继续来学习Python。昨天我们认识了 while 循环,有些同学想,我们能不能做一个一直循环的代码呢?当然可以,比如:

while 1 > 0:
    print('1 > 0')

        你看,这个程序就一直打印'1 > 0',因为1永远大于0,程序就会一直执行。那有些同学就有疑问了,那如果直接把条件改成 True ,是不是就会一直执行了?试一试就知道了:

while True:
    print('True')

        这段代码就会一直打印 True 。看来,想构造死循环,只需要把 while 循环的条件改成 True 就行了。

        那我们 for 循环中的 break 在 while 循环中能用吗?当然能用,就比如:

while True:
    print('True')
    break

        这段代码就只打印了1次 True ,因为程序在打印第一次时就退出了循环。

        好,今天的内容就这么多,接下来是作业:

一、选择题

        1.下面代码中,不是死循环的是()? (5%)

        A.

while 1 > -1:
    print(55)

        B.

while True:
    print(55)

        C.

i = 5
while i < 6:
    print(i)
    i -= 0.1

        D.

i = 1
while i < 2:
    print(i)
    i += 1

        2.死循环的条件可以是()? (10%) [多选]

        A.True

        B.1 < -2

        C.5 == -5

        D.5 > 1

        3.死循环是()循环? (5%)

        A. True

        B. while

        C. if

        D. for

二、判断题

        1. while True 是死循环。                                                                                               ()   [5%]

        2. while 1 < 0 是死循环。                                                                                              ()   [5%]

        3. while 1 == 1 不是死循环。                                                                                        ()   [5%]

三、填空题

        1. while True () 死循环, while 1<2 () 死循环,while 2 == 1 () 死循环。 (15%,每空5%) [填  '是'  或  '不是']

四、编程题

        等于不等于?

1.重复执行让用户输入两个数字,分别赋值给 a 和 b 。 (10%)

2.如果 a 等于 b ,那么跳出循环。 (10%)

3.否则,继续循环。 (10%)

4.用死循环。(20%)

参考答案:

一、

        1.D

        2.A D

        3.B

二、

        1.√

        2.×

        3.×

三、

        1.是 是 不是

四、

while True:
    a = int(input())
    b = int(input())
    if a == b:
        break

                      第十六章——循环(3)—循环测试

        前面几天,我们认识了 for 循环和 while 循环。那今天,我们就来测试测试自己,看一下自己有没有掌握循环这个知识点。

一、根深叶茂

        1. for 循环的第一个参数指(),第二个参数指(),第三个参数指()?

        2. while 循环中的死循环指 while ()。

        3. while ()加条件。[填"可以"或"不可以"]

        4.打印1到200的所有自然数。

        输入样本:无

        输出样本:

1

2

3

4

5

6

7

8

9

10

……

195

196

197

198

199

200

        5.打印15到125的所有奇数。

        输入样本:无

        输出样本:

15

17

19

21

23

25

……

121

123

125

二、步步登高

        6.密码

(1) 将 '123456' 设为密码。

(2) 重复执行。

(3) 让用户输入密码

(4) 如果用户输入密码正确,那么退出循环,打印登录成功。

(5) 否则,继续循环。

        7.0到100的所有偶数之和

(1) 计算0到100的所有偶数之和(0+2+4+6+……+94+96+98+100)。

(2) 将结果打印出来。

(3) 用 for 循环写。

输入样本:无

输出样本:

2550

三、难于登天

        8.九九乘法表

(1) 打印出九九乘法表。

(2) 用 for 循环。

输入样本:无

输出样本:

1 * 1 = 1

1 * 2 = 2    2 * 2 = 4

1 * 3 = 3    2 * 3 = 6    3 * 3 = 9

1 * 4 = 4    2 * 4 = 8    3 * 4 = 12    4 * 4 = 16

1 * 5 = 5    2 * 5 = 10    3 * 5 = 15    4 * 5 = 20    5 * 5 = 25

1 * 6 = 6    2 * 6 = 12    3 * 6 = 18    4 * 6 = 24    5 * 6 = 30    6 * 6 = 36

1 * 7 = 7    2 * 7 = 14    3 * 7 = 21    4 * 7 = 28    5 * 7 = 35    6 * 7 = 42    7 * 7 = 49

1 * 8 = 8    2 * 8 = 16    3 * 8 = 24    4 * 8 = 32    5 * 8 = 40    6 * 8 = 48    7 * 8 = 56    8 * 8 = 64

1 * 9 = 9    2 * 9 = 18    3 * 9 = 27    4 * 9 = 36    5 * 9 = 45    6 * 9 = 54    7 * 9 = 63    8 * 9 = 72    9 * 9 = 81

(8和9那两行写不下,超了一点。)

参考答案:

一、

        1.开始的数字 结束的数字 步长

        2.True

        3.不可以

        4.

for i in range(1,201):
    print(i)

        5.

for i in range(15,126,2):
    print(i)

二、

        6.

password1 = '123456'
while True:
    password2 = input('请输入密码:')
    if password1 == password2:
        break
print('登录成功')

        7.

number = 0
for i in range(0,101,2):
    number += i
print(number)

三、

        8.

for i in range(1,10):
    for j in range(1,i+1):
        print(i,'*',j,'=',i*j,end='   ')
    print()

                                        结束语

        好,我们Python中级(3)的课程就到这里,这篇文章内容比较多,要慢慢消化一下,是针对循环的学习,也做了第一次测试。

        如果这篇文章点赞破20,评论破3,我就更新下一篇——Python中级(4)。感谢阅读。

【python中级】 深度学习xml2darknetYolov3txt生成器 【python应用】 xml2darknetYolov3txt生成器1、背景2、代码3、打包4、使用方法5、资源 1、背景 参考博客: 【python应用】 xml标签类别读取器 https://blog.youkuaiyun.com/jn10010537/article/details/118256352 可以从lableImg打标的xml文件夹中获取打标的class类别; xml2darknetYolov3txt生成器: 将labelImg打标生成的xml转化为darknet框架yolov3模型训练的txt; 输入 阅读详情

相关推荐

【python中级】 深度学习darknet-yolov3图片地址捕获器

python应用】 txt_of_picDirs文本生成器1、背景2、代码3、打包4、使用方法5、资源 1、背景 参考博客: 【python应用】 xml2darknetYolov3txt生成器 https://blog.youkuaiyun.com/jn10010537/article/details/118275648 生成darknet-yolov3训练需要的txt标签文件; 同时训练darknet-yolov3,还需要生成train.txt,valid.txt; txt_of_picDirs文本生成器: 根据

jn10010537的博客 332

Python中级知识梳理(非常详细)从零基础入门到精通,看完这一篇就够了

Python中的文件操作通常使用内置的open()函数来打开文件。在这个示例中,我们打开了名为"file.txt"的文件,并将其读入变量content中,最后将其打印出来。open()函数的第一个参数是文件名,第二个参数是打开文件的模式。"r""w""a"

xx16755498979的博客 865

python中级试题(含答案)_python选择题及答案

python中级试题(含答案)

一文带你梳理Python的中级知识

Python是一种高级编程语言,它在众多编程语言中,拥有极高的人气和使用率。本文主要带大家梳理一下Python中常用的中级知识,希望对大家有所帮助。

ai520wangzha的博客 857

单相PWM整流器四象限运行原理

简述单相PWM整流器四象限运行原理。

m0_75208156的博客 8305

Vivado FFT IP核配置与实战:FPGA信号处理硬件加速指南

快速傅里叶变换(FFT)是数字信号处理(DSP)中的核心算法,用于将时域信号转换到频域进行分析。其原理基于离散傅里叶变换(DFT),通过蝶形运算的分解与复用,大幅降低了计算复杂度。在工程实践中,软件实现的FFT难以满足高速实时处理的需求,因此硬件加速方案至关重要。FPGA凭借其并行架构和可定制性,成为实现高性能FFT的理想平台。通过集成专用的FFT IP核,如Vivado中的Pipelined Streaming I/O架构,可以构建流水线化的计算引擎,实现极低延迟和高吞吐量的连续数据流处理。这种硬件方案特

weixin_42536863的博客 649

Python基础中级

Python基础中级=====我的学习之路

weixin_52539672的博客 523

AWR1642+DCA1000EVM 不使用mmWave Studio软件采集原始ADC数据 Timeout问题汇总

DCA1000 EVM Timeout问题汇总

Jesy_Hsu的博客 1476

Python全栈开发(中级)

通过本文,我们深入探讨了Python在AI人工智能工程师角色中的关键作用和应用场景,以及未来的发展趋势。希望这些内容能够帮助你更好地理解和利用Python在AI领域的重要性,为你的职业发展和项目实施提供有价值的参考和启示!

ze_mingmingge123的博客 678

Docker部署Nextcloud私有云:MariaDB、OnlyOffice与HTTPS全栈实践

Nextcloud作为主流开源私有云平台,其稳定部署依赖Docker容器化、MariaDB数据库优化、OnlyOffice在线协作集成及HTTPS安全加固四大核心技术。理解Docker Compose服务健康检查机制与依赖等待原理,可避免因启动时序导致的500/404错误;掌握MariaDB字符集配置与InnoDB参数调优,是保障Nextcloud全文搜索与大文件上传可靠性的底层基础;而OnlyOffice的JWT兼容性控制与Nginx路径重写规则,则直接决定文档协同功能是否可用。在家庭NAS、边缘服务器或

weixin_30328063的博客 515

【AI Guide】AI面试攻略只用看这一篇就够了!力争做全网最全的AI面试攻略——大模型(五)Adapter 微调

Adapter 微调(Adapter Fine-tuning)是一种高效的参数高效微调(PEFT)方法。相较于全参数微调(Full Fine-tuning),Adapter 在预训练模型的特定层插入轻量级的可训练模块,而冻结原始模型参数,从而减少计算和存储开销。是缩放因子,控制 Adapter 输出的影响程度。设 Transformer 层的隐藏状态为。为 Adapter 层的可训练参数,为非线性激活函数,如 ReLU。为冻结的预训练模型参数,

AI科研社 185

Python3学习(2)-中级篇

Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 切片:取数组、元组中的部分元素 L=['Jack','Mick','Leon','Jane','Aiden'] 取前三个:使用索引 取2-4个元素:索引 取最后2个元素:索引,倒序 取...

weixin_30411997的博客 111

主题035:计算流体力学(CFD)

计算流体力学(Computational Fluid Dynamics, CFD)是利用数值方法求解流体流动、传热传质等问题的学科。CFD已成为化学反应工程中反应器设计和优化的重要工具。∂ρ∂t+∇⋅(ρu)=0 \frac{\partial \rho}{\partial t} + \nabla \cdot (\rho \mathbf{u}) = 0 ∂t∂ρ​+∇⋅(ρu)=0对于不可压缩流动:∇⋅u=0 \nabla \cdot \mathbf{u} = 0 ∇⋅u=0动量方程:∂(ρu)∂t+∇⋅(ρ

kkchenjj的博客 269

python3 项目开发-中级篇

通过tcp/udp协议编写一个聊天室,在用户少的情况下进行24点的游戏,在玩家数量达到了10个及以上时进行三国对战(天黑请闭眼)游戏,当然,最重要的内容当然不是这些啦,最重要的内容就是一个自主考试系统,在时间到了之后会自动进入考试系统,学生答题交卷之后会在一定时间内给出分数和答案。

响神的博客 6198

【Win10/11】Windows电脑WiFi显示小地球/断网的解决方法 Windows WiFi小地球、网络连接中断、网络重置、无线网卡驱动、Win10/Win11网络修复

最近经常有粉丝留言问我,Windows 电脑突然连不上 WiFi,右下角网络图标显示成了“小地球 🌐”,或者干脆提示“未连接 - 没有可用的连接”。明明其他设备网络都正常,唯独自己的电脑断了。作为在互联网大厂混迹多年的前端程序员,我自己也碰到过这个问题。总结几种比较常见、亲测有效的解决方法,写出来供大家参考,希望能帮你快速恢复上网!问题原因推荐解决方法系统设置错乱使用网络重置功能驱动异常或冲突卸载后重启自动安装驱动驱动版本过旧手动更新网卡驱动实在不行考虑使用系统还原点或重装系统这几个方法中,

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 3852

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

第十二届蓝桥杯青少年组国赛C++中级组 第1题 -- 第3题(python3实现)

12届蓝桥杯青少年组国赛C++中级组编程题 12届蓝桥杯青少年组国赛C++中级组编程题_lybc2019的博客-优快云博客 蓝桥杯算法学习路线 | 全程制作过程公开 蓝桥杯算法学习路线 | 全程制作过程公开_哔哩哔哩_bilibili 【蓝桥杯】蓝桥杯备赛攻略/算法学习路线/经验分享 【蓝桥杯】蓝桥杯备赛攻略/算法学习路线/经验分享_哔哩哔哩_bilibili 第十二届蓝桥杯青少年组国赛C++中级组题目视频讲解-编程题1 第十二届蓝桥杯青少年组国赛C++中级组题目视频讲解-编程题

青少年趣味编程 3412

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【Python OOP Diary 2】3个中级题目,封装、继承、多态

本文介绍了Python面向对象编程的三大核心特性:封装、继承和多态。封装通过隐藏对象内部细节保护数据安全;继承实现代码复用和类层次关系;多态则允许同一接口不同实现,提高代码灵活性。文章通过银行账户系统(封装)、图形类层次结构(继承)等练习题帮助读者巩固知识,展示了Python中实现这些特性的具体方法,包括私有属性、方法重写和多态调用。每个概念都配有代码示例和详细说明,适合Python初学者系统学习面向对象编程。

Kratzdisteln的博客 1254

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Python 3学习笔记之中级篇(二)

在学习了上一篇“Python 3学习笔记之基础篇(一)”之后,针对每一种类型展开论述,横扫每个部分的每个细节,属于进阶部分,看完你可以编写稍复杂一点的Python小程序,并且能读懂大部分Python程序包含:1 Python3 数字(Number)

兰君 491

左神中级提升班3(Python)

解题思路:采用动态规划,创建dp数组,dp[i]表示子串必须以i位置字符结尾的最长有效的长度是多少;当以‘(’结尾时,不可能有效,dp[i]=0,如果以‘)’结尾时,先看他i-1有效字符串前的位置是否为‘(’,如果不是的话,dp[i]=0,是的话就可以串起来形成更长的有效字符串,记录当前位置为pre,如果pre-1>0的话,还需将pre-1的有效字符串长度一起串起来。解题思路:创建一个参数count,遍历字符串,当遇到‘(’,count+=1,遇到‘)’,count-=1,取当中的最大值,就是深度。

MyGdWcj的博客 444

【3.0】Python中级之深浅拷贝

【一】深浅拷贝问题引入 无论深拷贝还是浅拷贝都是用来 复制对象的 如果是浅copy,只会复制一层,如果copy的对象中有可变数据类型,修改可变数据类型还会影响拷贝的对象 如果是深copy,完整复制,无论可变或不可变,都是创建出新的来,以后再改原对象,都不会对copy出的对象造成影响 在Python中,深拷贝和浅拷贝是用于复制对象的两种不同的方式。 list_original ...

Chimengmeng的博客 136

计算机二级Python和软考中级软件设计师:零基础小白3个月双证通关攻略

本文为零基础考生提供计算机二级Python和软考中级软件设计师双证3个月通关攻略。通过'3+1+2'备考体系(3周Python基础、1个月软件设计核心、2周冲刺),结合高频考点分析、时间管理秘籍和精选备考资源,帮助考生高效备考。2024年最佳考试窗口为9月Python和11月软考组合,实现职场竞争力提升。

weixin_30505225的博客 505

python3下使用requests模拟用户登录 —— 中级篇(百度云俱乐部)

python3下使用requests模拟用户登录 —— 中级篇(百度云俱乐部) 1. 背景 建议先看一下初级篇,了解一些爬虫模拟登录的基本常识: python3下使用requests实现模拟用户登录 —— 初级篇(马蜂窝):https://blog.youkuaiyun.com/zwq912318834/article/details/79571110 2. 环境 系统:win7 p...

Kosmoo的博客 6653

python 3.7 最佳python中文工具书籍下载

筛选了2年内优秀的python书籍,个别经典的书籍扩展到5年内。 筛选了2年内优秀的python书籍,个别经典的书籍扩展到5年内。 python现在的主流版本是3.7(有明显性能提升,强烈推荐) 3.6, 不基于这两个或者更新版本的书,慎重选择。很多库已经不提供python2支持,请尽快从python迁移到python3.7。 尽量只收集通用的书籍,专用的书籍只收集特别优秀者。国产...

Python爬虫和机器学习专栏 2142

Python 中级遍 3 -- 类方法@classmethod

类方法 就是针对 类对象的方法 在 类方法 的内部可以直接访问 类属性 或者调用其他的类方法 class Tool: count = 10 @classmethod def kind(cls): print("这是 %s 个类方法" % cls.count) def __init__(self): print("这是初始化方法") Tool.kind() 输出结果:这是 10 个类方法 类方法不用创建对象就可以直接调用 这样就可以不调用初

伟爵社的博客 569

Python3 中级练习:简易库存管理系统

本文介绍了一个使用Python实现的简易库存管理系统。该系统采用面向对象编程思想,包含InventoryItem和InventorySystem两个核心类,分别处理商品属性和库存管理功能。系统支持商品添加、更新、删除、搜索等基本操作,并实现了低库存预警和库存总值计算功能。数据持久化通过JSON文件实现,自动生成的SKU编码确保商品唯一性。系统提供命令行交互界面,包含7个主要功能选项,通过异常处理机制保障程序稳定性。该案例完整展示了文件操作、类设计、异常处理等Python编程核心概念,可作为学习Python基

IT913913的博客 458
上一篇: Python中级(2)
Python123BQM
博客等级 码龄3年 109粉丝 6原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值