昆明企业网站开发公司,百度一下就知道官方网站,产生非对称效果的是,百度学术论文查重免费检测《从零开始PYTHON3》第二讲 上一讲我们说过了如何启动Python IDLE集成开发学习环境#xff0c;macOS/Linux都可以在命令行执行idle3。Windows则从开始菜单中去寻找IDLE程序的图标。 上一讲我们还见到了Python的两种工作模式#xff0c;交互模式和程序模式。 通常在一个大型的… 《从零开始PYTHON3》第二讲 上一讲我们说过了如何启动Python IDLE集成开发学习环境macOS/Linux都可以在命令行执行idle3。Windows则从开始菜单中去寻找IDLE程序的图标。 上一讲我们还见到了Python的两种工作模式交互模式和程序模式。 通常在一个大型的系统中程序模式是必然的选择。因为一个完整的项目都需要大量的准备工作。为很多运算的必要条件准备最初的值专有名词也叫“初始化”接下来的运算也往往逻辑复杂需要作出多种选择和频繁的组合计算。这个过程需要用计算机能明白的文字完整描述出来。描述的过程也就是称为编写程序的过程。下图仅为示意性先不要管程序的内容 命令行方式则看上去更简单Python对你的每条命令即时的给出反馈适合用户边想边试快速的看到结果并根据结果调整策略、再次尝试。 Python语言应用于工程界和科学界的时候经常就是工作在这种模式。交互模式下一遍遍尝试的过程实际也是“研究”的过程。当然研究取得了成果最终还是需要用“编程”的模式把研究结果变成一个产品。 通常这样编写的程序的主体部分就是在交互模式中顺序输入的命令的总和。 在我们刚刚接触Python的阶段交互模式也为我们的学习提供了良好的支持动手实验每一个小的学习过程根据反馈的结果验证我们的思考。学习-思考-动手验证-再次学习这是我们学习的一般路径。 启动IDLE程序之后Python默认就工作在交互方式下也就是上面这张图的样子。在File(文件)菜单中选择New File(新文件)或者Open(打开)以前的老程序则Python会再打开一个窗口在新窗口中可以编辑、修改程序也就是程序模式。本节课我们主要讲解交互模式。 交互模式可以完成很多工作在其它编程语言中需要用复杂的程序才能完成的工作可能在Python交互模式中简单的几条命令就能完成。今天实际是我们正式踏上编程之旅的第一课我们从最强大易用的Python数学计算来开始。 把Python当做计算器 首先是最基本的四则运算和常用的乘方 数学运算操作符加法减法-乘法* 不是✖️除法/ (不是➗)乘方**这是最好理解的部分加、减两项运算跟我们数学课上学的完全相同乘法、除法、乘方的运算符则使用了替代的符号。 这样设计的原因说起来话题比较长。 大概讲就是计算机发展之初输入设备是由传统的英文打字机改装而来的键盘布局当然就采用了同英文打字机相同的布局。 但是在这种布局上加、减符号是有的乘除符号则没有因此乘法使用了从外形看比较接近的“*”除法则使用了意义上最接近的“/”。 为什么不使用“x”当然是为了避免歧义。 下面就是几个简单四则运算的例子希望你也多动手试试 2 2
450 - 5*6
20(50 - 5*6) / 4
5.08 / 5
1.6
5**2
25
2**7
128 上面这种代码块在我们以后的讲解中还会不断的出现所以我们这里给出一个简单的说明。 通常程序的讲解最重要的是能容易的定位到某个特定位置。定位的方法最直接就是使用第几行、第几列这样的方式因此代码块要能清晰的体现出来行、列的关系。行的位置在代码块中使用了行号就是你在这个例子中看到的从1到12的编号比如说第4行的数字20就是第三行命令的执行结果这看起来非常清楚。 列编号显然不那么方便但程序字体都会额外要求“相等宽度”这样你偶尔需要去计数和分辨格式的时候就容易了很多。 程序块通常还使用颜色“区分”程序不同部分的要求上面的例子能看到颜色的变化但是还不够明显我们在以后的讲解中你会看到更清晰的例子。 言归正传我们再说一下跟交互方式相关的内容符号也就是3个大于号这个是Python交互模式的“提示符”意思是说“Hi,我准备好了你可以输入命令了”。 见到这样的提示符在其后输入你的命令才能被Python交互方式所接受。再说一遍这是Python交互模式在做完上一个任务、并且完成自身准备之后主动给出的不是你输入的你输入的话因为并没有一个命令是3个大于号所以也无法被Python交互模式所识别只会给出报错信息。 在提示符之后你输入的每条命令最后都要使用“回车键”来告诉Python:“我的命令输入完了你开始执行吧”。在我们使用的电脑上回车键通常标记为“ENTER”或者“RETURN”不同的键盘可能有不同的标注现在电脑和手机这么普及了我相信你早就知道了。 回车符在屏幕上并不会特别的显示出来你唯一能看到的就是引导文字输入位置的光标换了一行并出现在行的最开始位置所以回车符也称为换行符。随后很快的等Python处理完命令在这一行开始的位置开始显示命令计算的结果。从上面的代码块例子来看偶数行都是Python计算上一条命令所输出的结果。结果显示完成后Python再次给出“”提示符等待你的下一条命令。 刚才我们讲过了交互模式每输入一条命令Python都会立即执行并给出结果反馈这会让我们产生一种误解似乎Python反馈的结果就是由上面输入的这一条命令决定的。事实并非如此Python每一次的反馈都是由Python启动之后输入的所有的命令累计一起互相作用所得到的结果。你之所以有误会是因为你输入的命令可能之间并没有什么相互影响的关系所以这种“累计”没有体现出来而已。之所以每个程序都需要由大量的命令组合而成就是因为这种“累计相互作用”的结果。这个我们在后面会详细讲。 请尽量的多动手做一些练习来尝试使用Python进行四则运算。对于本课程的学习者来说四则运算太简单了但是希望你能从开始学习编程的心态来看待这些练习。所有的学习都是从你已知的知识开始接触新知识从而探索你所不知道的部分。如果上来就用你不懂的概念来解释另外一个你不懂的概念你一定会崩溃。 练习中还有一个对于亚洲人非常重要的注意事项计算机在西方发明之初实际上只有英文的处理能力。直到上世纪80年代才有了中文的输入法和电脑上的中文字符。所以所有在Python(以及几乎所有的主流编程语言中)使用的命令都只能接受英文的字符输入中文字符、其它国家的语言字符可以被Python处理但并不能当做命令。 这些中文的字符通常比同样的英文字符要宽一倍被称为“全角”字符对应的英文字符就是“半角”字符。最可怕的还有比空格字符宽一倍的中文空格。这种出现的错误非常难以排查。所以如果看起来没有敲错但Python持续报错建议你仔细用英文半角字符重新输入。使用英文半角字符其实就是关闭中文输入法的情况下输入的字符。下面的程序块示意性的让你看到这种区别 #奇数行英文半角字符#偶数行中文全角字符
-*/回到使用Python做数学计算。在复杂计算中运算优先级是必须考虑的问题上面的例子你已经看到了使用括号( )来确保优先执行的例子。Python的运算优先级跟数学中的定义是相同的 数学运算 优先级由高到低操作符括号()乘法、除法*** /**加法、减法 -在Python和大多的编程语言中大括号{}、中括号[]都是有特定作用的不能当做Python中的数学符号来使用。在数学中多重括号需要用到大括号和中括号的地方可以重叠使用小括号()来实现这种多重的重叠使用在编程中也称为“嵌套”。 (5((32)*7-227))/4
-47 练习时间 1.请使用Python的交互模式来计算下面算式的值 2100-21×532255
(103-336÷21)×15
800-(2000-9600÷8)
40×48-(1472328)÷5
(488344)÷(202-194)
2940÷28136×7 2.如何求开平方运算 应用题 每个程序编写之前都要先弄明白这个程序是干什么用的运行在什么样的情形之下解决什么问题。这些前置的条件有一个专有的名词叫“程序需求”也就是说编程序的第一步是弄清楚“需求”。 这很类似上面的这些数学算式每个枯燥的算式背后都有其背景这个背景就是应用场景。下面我们就看一个应用题的例子 某班有50名学生准备集体去看电影买到的电影票中有30元一张的有20元一张的。已知买电影票总共花1240元问票价是30元和20元的电影票各几张 现在回答小学的问题肯定容易的很。 设票价是20元的电影票为X张则票价为30元的应有50-X张。 可列出方程20X 3050 – X 1240 化简方程X(30x50-1240)➗(30-20)随后就可以在Python中计算了。 (30*50-1240)/(30-20)
26.0 求得X26之后50-X,可以得到票价为1.5元的电影票张数24。我们在Python中计算的时候可以直接使用 50-26
24 还可以在X计算结束之后直接使用 (30*50-1240)/(30-20)
26.050-_
24.0 这个“_”就是减号“-”键按住SHIFT键才能打出来的第二功能键。在Python交互模式中“_”保存了上一次计算的结果等于把上一次的计算结果替换到“_”出现的位置。 所以“_”符号必须在所需要的计算完成之后马上使用才有效。如果还进行了其它计算那“_”的值会变成新计算的结果值。 这种功能是计算机的记忆保存功能“_”也被称为“结果变量”。 变量 变量这个词也源于数学是计算机区别于其它非智能计算设备很重要的一个体现。变量的概念是所有编程语言中的重点之一。 你可以把每个变量理解为一个空盒子盒子中可以用来保存物品当然这里就是数据。每个盒子都要有一个容易记忆的名字好让你在需要的时候使用特定的盒子。盒子能够在需要保存的时候放入数据在需要用到的时候再取出数据。为了保存新的数据而不影响原来保存过数据的盒子我们可能需要建立一个新的空盒子来保存新的数据。总结一下刚才说到的这几种操作我们可以得到变量的几个要素 变量名;变量的值;变量的声明(准备新的空盒子);变量的初始化(把值保存到盒子); 几乎在所有的编程语言中学到变量都要关注这几点。 在Python中因为变量并不需要声明每当你第一次使用一个变量名的时候Python会自动的完成“新盒子的准备工作”所以通常在Python中你只要关注1、2、4共3点就好。 变量值的概念是相对“立即数”常量而言的上图盒子中的数字“2”上一节中我们使用Python计算器时候输入的那些数字都是常数。在电脑中因为是无需计算就能知道的值所以也叫“立即数”。一个立即数总是显而易见确定的不会变化因此在这里也可以称为常量。 立即数是确定的值不可能变化。而变量就是一个盒子其中的容纳的数字当然可以变化。 这个变化是指变量盒子可以保存不同的值。而在一个特定时刻变量的值当然是确定的。 不要把变量跟数学中的未知数弄混变量的值在任何一个特定时刻都是确定的在Python中使用的时候就当做那个确定的值来使用是不折不扣的已知数。容易混淆的原因不过是因为变量名看上去像数学中的未知数而已。比如变量名和未知数可能都刚巧叫做“X”。 每种编程语言对于变量的命名都有一定规则这是语言语法的一部分。Python对变量名的要求非常简单以任何字母开头后面可以是数字或者下划线“_”。 Python3中还允许使用中文作为变量名但是因为兼容性、效率、容易出错等原因我们不推荐大家使用中文变量名。 语法之外通常还有非强制性的习惯来规范变量名的写法比如尽量使用有意义的单词或者拼音来当做变量名。多个单词的变量名每个单词的首字母大写或者在两个单词之间使用下划线。比如下面就是几个有意义的变量名 dogs rabbit1 price jia_ge numberOfBalls 下面几个则算是不太理想的变量名 abc aaa xyz 再下面几个干脆是非法的变量名用在Python中会报错 2floor balls! numberOfBalls这样的命名规则俗称叫做“驼峰命名法”原因你懂的。 jia_ge这样的方式则称为“下划线命名法” 变量就像一个空盒子只有其中保存了值变量才有意义。让变量保存确定值的过程就是为变量“赋值”。变量声明之后的第一次为变量赋值的操作被称为“初始化”。当然因为Python不需要变量声明所以初始化跟赋值在Python语言中看起来没有什么不同。 比如我们为两个变量赋值 x 42
y 42 用图来表示的话大概就是这个样子 这里特别要注意的是Python语言中的等号“”是赋值命令的意思或者叫赋值运算符。表示把“”右侧的值赋值给“”左侧的变量。这跟数学中学到的等式是完全不同的概念。几个重点 “”左侧必须是可以用来保存值的变量名也称为“左值”。“”右侧必须是类似“42”这样的立即数或者是合法的表达式可以计算出数值也称为“右值”。“”左右侧的内容含义是确定的不是等式不可以左右侧内容互换。修改变量的值就是为变量再次赋值跟初次为变量赋值没有什么不同。 下面我们使用变量的方法再来计算一次上面的应用题 某班有50名学生准备集体去看电影买到的电影票中有30元一张的有20元一张的。已知买电影票总共花1240元问票价是30元和20元的电影票各几张 设票价是20元的电影票为X张则票价为30元的应有50-X张。可列出方程20X 3050 – X 1240化简方程X(30x50-1240)➗(30-20)Y(50-X)。在Python中计算一下试试吧。 说了变量我们对应说了立即数。其实在其它语言中还有常量的概念顾名思义在程序完整的运行过程中不能被修改的量就是常量。在Python中没有常量的概念。但我们在学习中思想上还是要有常量的概念因为毕竟有很多值是常量比如π比如常数e比如重力加速度g。 前面讲过立即数也是常量的一种称为常数。 函数 今天我们的概念都是围绕着初级的数学概念展开的。当然也不能少了函数。有个很形象的图可以描述函数的功能 有特定的输入经过一系列的计算完成特定的输出这就是函数的功能。数学中的yf(x)x是输入值y是输出值数学中是等式所以称为y是输出值在Python中的话y是保存了输出结果f()就是函数本身。 函数的详细内容我们会在下面一讲进行这里只介绍一个非常常用的Python内置函数print()功能是输出参数的值。 比如上面一节的练习如果你真的做了的话会发现计算X和Y的值似乎都没有得到期望的结果。原因是计算的结果被赋值给了变量X或者Y因此没有自动显示到Python交互式环境中因此你没有办法像前面的那些计算一样直接看到结果。如果想看到结果怎么办呢就是使用print()函数 print(X,Y)
(26.0, 24.0) 在一个大的程序中通常都要把程序按照功能划分使用很多个小的函数来实现并组装到一起。因此函数通常也被称为子程序但严格意义上讲通常只有没有输入值、输出值的函数才可以称为子程序。 整数和小数 几乎所有的计算机都非常擅长整数运算而通常整数运算也非常适合某些场景。比如屏幕分辨率是1920*1080,在绘图中计算出来小数通常也没有意义玩游戏打出了5发炮弹计算出来5.5发也同样用途不大。 整数的运算在计算机中如此重要以至于虽然同样是数学运算整数运算和带有小数的运算被大多数编程语言当做两种类型来区别对待。这样在特定的运算场景中速度更快精度更高。 整数的例子3 4 5 101 256 小数的例子3.14 1.414 2.1343e02 在计算机表示小数的时候通常使用科学计数法小数点的位置在科学计数法中是固定的但跟原值比都不是原来的位置因此也被称为浮点数。以后我们都用“浮点数”这种更准确的方法来称呼小数。 在实际应用中经常会发生两种类型的数据互相转换的情况你会频繁的看到。 整数可以直接当做浮点数来使用不需要转换但是要求算式中有浮点数先参与了运算比如5.144虽然是整数但因为5.1是浮点数整体算式会自动采用浮点数的方式来计算。整数常数转换成浮点数,可以在其后加上小数位比如4.0。 浮点数转换成整数则需要明确的指定转换这也称为“显式”的转换。 使用int()函数转换比如int(3.54)的结果是3小数部分无论多少都会舍去。如果希望四舍五入要附加使用round()函数比如int(round(3.54)),结果是4。round()函数的功能是四舍五入但结果依然是浮点数上例中是4.0所以还要再经过一次int()函数转换。针对整数和浮点数两种不同的类型运算也有一些区分 整数运算浮点数运算除法 17 // 3取余数17 % 3除法17 / 3没有取余数的运算赋值 a 5赋值a 5.0整数运算和浮点数运算虽然都是数学运算也没有数学意义上的难度但是很重要我们后面的课程会有大量不同类型的运算所以一定要理解清楚两者的区别。浮点数、整数转换、整数运算相关的内容暂且先以了解为主后面我们还会详细讲解。 练习时间 使用Python计算下面应用题 甲、乙两人相距36千米相向而行如果甲比乙先走2小时那么他们在乙出发2.5小时后相遇如果乙比甲先走2小时那么他们在甲出发3小时后相遇甲、乙两人每小时各走多少千米假设甲乙的速度均匀稳定 本课程结尾的练习通常是要求在辅导老师的帮助下由学生自己完成。并且课程所留下的练习时间一般无法让学生能够完成所有练习所以需要学生回家后继续直至完成所有练习项目。 本讲小结 今天是大家开始Python编程学习的第一节介绍了Python的两种工作模式交互式模式和程序模式。并且使用交互模式的计算器功能让大家使用小学数学的知识开始熟悉Python的使用。 先学习了Python的基本运算和运算优先级。然后学习了变量、函数的基本相关知识。理解变量的概念是学习的重点。 我们还穿插介绍了全角、半角的区别这是初学中容易犯的错误需要特别注意。 本讲的练习重点是用Python语言的方式来描述通常所见的数学公式从而使用Python完成数学计算。在这个过程中解题思路、题目含义等都属于数学范畴并不在本课的讨论范围内我们尽力使用非常简单的数学概念来引导大家入门Python的学习。 部分练习答案 1.开平方也就是求平方根可以使用指数的倒数形式比如 3 ** 0.5
1.73205080756887723 ** (1/2)
13 ** (1.0/2)
1.7320508075688772 注意上面第3行因为1、2都是整数所以实际当做了整数除法而结果是0所以导致3 ** 0结果是1。这种情况下应当采用第5行的形式强制要求浮点运算。 2.最后应用题的思路 假设甲的速度为x千米/小时假设乙的速度为y千米/小时列方程式(2.52)x2.5y363x(32)y36根据方程2推导为x(36-5y)/3代入方程1y(124.5-36)/(4.55/3-2.5)最后得y3.6,将y值代回方程得到x6有些同学可能希望更多的了解数学计算的知识今天课程中的数学内容显然太简单。 Python官方提供了数学计算库math有能力的同学可以参考官方的文档https://docs.python.org/3/library/math.html我们以后的课程也会按照计划做摘要的介绍。 转载于:https://www.cnblogs.com/andrewwang/p/10136555.html