Jetson Nano B01 笔记(课程5:学习与熟悉Python)

先简单概述一下本节的内容:本节是基于在Jetson Nano B01运行python的基本内容,没有太多理论的东西,整体是熟悉操作,为后面做准备。


(作者是基于大家具备一定的编程基础来讲解这个python(作者是认为大家具备一定的C的基础),从这里开始到后面的很长一部分都是关于python的课程,大概是课程:5-6针对python在终端窗口的运行如果需要系统性的学习的话可以在B站上面学一下,太多宝藏up主,其实大概1天左右就可以搞定许多基本的内容)
开始免责声明:由于我这里在写过程中可能会存在一定的错误,希望大家可以包含,在代码内部也存在许多标准性的东西,大家在运行过程中记得删掉或者打注释。
在这里的整体运行需要自己进行简易的操作。(在这里应该学习会相关的文件运行(小门槛))


来到 old 生长谈的地方(第一步):打开终端窗口,转到主目录之下

cd ~
ls
pwd
(常用三件套,确保自己在主目录当中)

(你可以不知道是原理但是,你要知道怎么实现对于的操作,如果如果时间充沛的话我同时还是推荐一下可以去学一下python的,毕竟人工智能很多方面(图形化处理,视觉处理)离不开Python的) 

为了更好的分类管理,我也是很推荐和视频一样的方式,专门建立一个文件夹来分类管理

mkdir myPython
##(创建一个名为myPython的文件夹)
ls
##(查看一下)
cd  myPython
(进入文件夹工作空间之中)

查看一下Python的版本

python
python3
(当检查后会处于里面,这个时候ctrl d就可以跳出来了)
(后续重点是在学python3)
(切记不要升级版本,涉及到函数使用与专利问题)

现在前期的准备都结束了
编写我们的第一个Python程序(接下来的是按照视频节奏走的,比较繁琐,我在后续会把出现的所有原因进行总结,尽量让大家知道区别(因为对python同一个文件进行了多次的操作,所以会比较浪费时间))

nano pythonPrint.py

注:文件名称中间不要放空格(推荐按照标识符的格式来,这样的报错会比较低,同时推荐驼峰命名法) 

pythonPrint.py:内容

版本1:

x=7
y=3
z=x/y
myGreeting="Hello World"
print("Hi Guys")

注:其实按照视频走是最好的结果,不然容易出问题,如何自己一个人要搞好久。(推荐使用多一张卡来玩,不要混合课程进行)

如何运行已经写好的程序呢?

python3 pythonPrint.py
(会用python运行pythonPrint)

此刻会显示 Hi Guys,但是为了让你理解print的美妙(许多编程都是从打印东西开始的,这个东西为我调试什么的提供了巨大的变量,希望你可以合理运用)

pythonPrint.py:内容

版本2:

x=7
y=3
z=x/y
myGreeting="Hello World"
print("myGreeting")

此刻会显示 myGreeting

pythonPrint.py:内容

版本3:

x=7
y=3
z=x/y
myGreeting="Hello World"
print(myGreeting)

此刻会显示 Hello World

pythonPrint.py:内容

版本4:

x=7
y=3
z=x/y
myGreeting="Hello World"
print("x")

此刻会显示 x
如果我想要打印出来变量x的内容,即 7,我们需要怎么做?

pythonPrint.py:内容

版本5:

x=7
y=3
z=x/y
myGreeting="Hello World"
print(x)

打印的结果即是7
(此刻你应该可以有点明白变量与字符之间的奇妙关系了,但还有更多美妙的接下来将会更加美妙了)(体会到print的乐趣与特异之处,(毋庸置疑,第一次接触print函数的过程,总是会给人带啦巨大的震撼,至少我当年是这样的))

接下来我们要开始体会到关于数据类型的差别与区别。
首先我可以告诉你 x y 是属于同一种的数据类型但是 z与x y的类型不同,我将会提供代码,让你去运行

pythonPrint.py:内容

版本6:

x=7
y=3
z=x/y
myGreeting="Hello World"
print(z)

 你应该在运行后发现输出的内容不同了,输出是2.3333333333333335(这里小数点后16位)
z的数据类型是浮点数。但是如果当想要打印一堆东西时,想要怎么做呢?

pythonPrint.py:内容

版本7:

x=7
y=3
z=x/y
myGreeting="Hello World"
print("x/y=",z)
(小彩蛋:按照视频来说这里的print字符串内容是“x+y=”但是实际上是有点小错误,只是不影响代码的运行)

这里我们采用了 ,将打印的内容分割开。

我相信我花的有点丑,甚至有点抽象(希望丑到抽象反而有利于理解。)每一个序号代表之一部分的打印内容,彼此之间采用  " , " 隔开,来确保我们可以在一段print可以对内容进行分段处理或者多段打印。

pythonPrint.py:内容

版本8:

x=7
y=3
z=x/y
myGreeting="Hello World"
print(x,"/",y,"=",z)

在这里你应该可以更加直观的理解这一个功能。但是多次打印z,但是由于无限循环小数与存储空间有限的问题,会经常出现一段超级长的数字:2.3333333333333335
为了可以控制我们打印东西的长度,我们要进行下一步的学习。

pythonPrint.py:内容

版本9:

x=7
y=3
z=x/y
myGreeting="Hello World"
print(x,"/",y,"=","{:.2}"format(z))

按照这个情况你会发现2.3333333333333335变成了2.3(但是还是存在着问题,虽然没怎么说,但是我还是去分析和查询了一遍后,整体的错误在于 "{:.2}"format(z) )
错误的问题:
"{:.2}".format(z) 这个格式化字符串是错误的,因为它缺少格式说明符的完整形式。:.2 应该是 :.2f,表示将 z 格式化为浮点数并保留两位小数。
(其实就格式缺失引起打印出来的情况没办法达到小数点后面俩位的情况)
改进后的代码:

pythonPrint.py:内容

版本10:

x=7
y=3
z=x/y
myGreeting="Hello World"
print(x,"/",y,"=","{:.2f}"format(z))

再次运行后就会显示为2.33了,修改"{:.2f}"format(z)中数字“ 2 ”改此其他数字可以修改整体的长度。

pythonPrint.py:内容

版本12:

x=7
y=3
z=x/y
myGreeting="Hello World"
print(x,"/",y,"=","{:.5f}"format(z))

(在这里咱其实想吐槽一句,其实可以一个文件搞完的但是非要弄那么多个版本,内容不是  特别复杂,但是一个一个打出来还是挺浪费时间的)
以下是我浓缩的一个覆盖全部的代码,其中一些影响运行和正确结果的我将不会太多的赘叙
(我会注释出整体想要把握什么东西或技能点)

pythonPrint.py:内容

版本12:

x=7
y=3
z=x/y
myGreeting="Hello World"
print("Hi Guys!")
#掌握最基本的打印字符串
print("myGreeting")
print(myGreeting)
#简单的理解在print的过程中,加""(打印字符串)和不加""(打印变量内容)的区别
print("x")
print(x)
#简单的理解在print的过程中,加""(打印字符)和不加""(打印变量内容)的区别
print(z)
print("x/y=",z)
print(x,"/",y,"=",z)
print(x,"/",y,"=","{:.5f}"format(z))
#打印一个变量到打印多个变量,打印一个东西到打印多个东西,打印整数到对应浮点数,从基本浮点数类型到浮点数输出长度可控

关于print的就先告一段落了,现在来开始学习和捕获键盘的输入内容,用来执行整体下一步的操作
关于捕获键盘输入使用到了 input 函数,整体的操作开始了

nano userInput.py
#创建userInput.py文件
cd userInput.py
版本:1

x=input("Please Enter First Number: ")
y=input("Please Enter Second Number: ")
z=x+y
print("x=",x)
cd userInput.py
版本:2

x=input("Please Enter First Number: ")
y=input("Please Enter Second Number: ")
z=x+y
print("x + y = ",z)

跟着视频来的一个过程,输入 3 和 2 此刻的输出出现了神奇的内容情况:x+y= 32   ???(你会发现整体的情况他并不是直接加起来而是拼接到一块,本质上还是因为数据类型引起的问题,由于键盘输入的所有的东西都是按照ASCII码的格式存储的内容(字符的本质)相对于字符之间会进行相加)所以,不管你输入什么东西都会出现一个情况会出现拼接的情况,只需要改变一下数据类型即可。(数据类型是计算机代码的根本)

cd userInput.py
版本:3

x=float(input("Please Enter First Number: "))
y=float(input("Please Enter Second Number: "))
z=x+y
print("x + y = ",z)

此刻重新输入即可。

现在我们来开始学习 if 语句

nano pythonIf.py
pythonIf.py内容
版本:1

number=float(input("Please input your number: "))
if(number>0):
    print("Your Number is Positive")
    print("Thank you for playing")
if(number<0):
    print("Your Number is Negative")
    print("Thank you for playing")
if(number=0):
    print("Your Number is Zero")
    print("Thank you for playing")

运行整体的情况是在提供键盘输入的数字不同,会引起整体的输出不同。
为了识别出来整体的情况更加详细,我们需要对整体的进行一个相关的状态进行一个相关的补充。(整体可以理解为是一个状态机或者可以理解为是一个树状列表)

pythonIf.py内容
版本:2

number=float(input("Please input your number: "))
if(number>0 and number%2==0):
    print("Your Number is Positive")
    print("AND your Number is Even")
    print("Thank you for playing")
if(number>0 and number%2!=0):
    print("Your Number is Positive")
    print("AND your Number is Odd")
    print("Thank you for playing")
if(number<0 and number%2==0):
    print("Your Number is Negative")
    print("AND your Number is Even")
    print("Thank you for playing")
if(number<0 and number%2!=0):
    print("Your Number is Negative")
    print("AND your Number is Odd")
    print("Thank you for playing")
if(number=0):
    print("Your Number is Zero")
    print("My Opinion is 'Zero is Even' ")
    print("Thank you for playing")

现在我们来开始学习 for 语句

nano pythonFor.py
pythonFor.py 的内容
版本:1

for i in range(1,11,1):
        print(i)
        print("That's all folks")

现象是会打印出来一个等差数列(你可以理解打印出来1-10的数字,当然其中还有其他的东西)
尽管目前的东西还是比较多的,但是作为小白的你可能还是不太明白缩进的情况

pythonFor.py 的内容
版本:2

for i in range(1,11,1):
        print(i)
print("That's all folks")

整体的一个表现是有所不同,缩进的不同其实会呈现出来是前一个差距比较大的,缩进在python中其实是在充当一个类似 {  } 的作用,缩进格式不同会表示所处的一个代码空间不同,缩进的格式越长表示所处的空间更加内部。

接下来的一个代码版本其实比较抽象且可能存在一定的问题。至少视频中出现意外了。

pythonFor.py 的内容
版本:3

import numpy as np

for i in py.arange(1,11,1):
        print(i)

(在这里我进行了一定的精简视频的代码,避免输出太乱)

重点重要把握的是引用库与调用库函数的内容。这里调用了numpy的函数库(重点是针对数字进行处理的文件(里面有对应挺多对数字处理的库函数))(虽然视频存在一定的问题,但是在我跑这些东西的时候并没有突出的问题)运行的情况如下:

(你可以发现本来应该输出是0的结果是一个乱码的格式,这个可能是由于本身数据存储引起的报错(个人感觉是数据乱码))

如果我们想实现给定一段数据长度,给定整体的一个总数据的个数,并且进行一个均分。(这个时候便要使用一个新的函数来进行处理)

pythonFor.py 的内容
版本:3

import numpy as np

for i in py.linspace(1,11,1):
        print(i)

这里的话就是简单的运用了linspace来进行对于的处理(如果此刻,你对这一类函数感到很大的小兴趣的话其实可以去查询一下关于对于库的一个说明书或者详细的功能介绍,我希望你可以对编程保持着巨大的热爱)

现在我们来开始学习 while 语句(如果学过一定编程的话,你应该清楚while会比for危险,但是由于需求的场合,有时候我们会不得不使用while(循环次数已知用for;结束条件已知道且循环次数为知用while))

nano pythonWhile.py
pythonMhile.py内容:
版本:1

while(l==1):
        cnt=float(input("What do you want to count to"))
        j=1
        while j<=cnt:
                print("{:.2f}".format(j))
                j=j+1
        print("That's all folks")

(由于本身会一直在不断的循环,所以我们需要做的事情会比较简单,但是如何离开又是一个问题了)让我们摁下 ctrl c 结束本次运行即可回归到控制之中。

现在我们要开始接触数组(挺重要的因为许多的通讯会按照数据包的形式进行一个简单的收发)(第6是关于相关的作业讲解)(为了大家逻辑方便,不敲太多的代码我将进行适当的浓缩)

nano pythonArrays.py
pythonArrays.py内容;
版本1:

gradeArray=[]
#定义一个数组
gradeArray.append(5.5)
gradeArray.append(3.2)
gradeArray.append(-2.7)
print(gradeArray)

#打印整个数组
print(gradeArray[1])

#打印数组的第二个内容(索引数组内容)【数组本身的存储是从0开始】即数组[n]是数组的N+1位
gradeArray[1]=25.2

#针对数组而言,可以进行重新赋值的操作 注:= 是赋值 ==是等于
#现在针对数组的一些常识性的操作你应该可以初步掌握
pythonArrays.py内容;
版本2:

gradeArray=[]
numGrades=int(input("How Many Grades Do You Have ?"))
for i in range(0,numGrade,1):
        grade=float(input("input the grade"))
        gradeArray.append(grade)

for i in range(0,number,1):
        print("Your",i,"grade is",gradeArray[i])
print("Thank you for playing")

注:视频中在第一次运行中会出现问题,问题在于视频中grade=float(input("input the grade")但是正确的写法是grade=float(input("input the grade"))(缺乏了一个  “ )” )

(这个代码其实可以理解为一个简单的成绩录入功能)

视频末后留了一个简单的小作业:编写一个程序,输入成绩列表,先输入年级,如何输入成绩,并且输出平均成绩,输出最高分和最低分,希望你可以利用for循环实现(可以用到4个for)


针对本章来说内容是比较多的且本身也比较杂,并且并不系统,如果在时间允许的情况下还是推荐大家可以去系统的学习关于python的本身用处其实也挺大的(其实可以写很多自动化电脑控制脚本)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值