原标题:30分钟学会用Python编写简单程序
参与文末每日话题讨论,赠送异步新书
图1 x = x + 1的视图,变量就像盒子
Python赋值语句实际上与”变量盒子”模型略有不同。在Python中,值可能最终放在内存中的任何位置,而变量用于引用它们。对变量赋值就像把一个黄色小粘贴便签放在值上,并说”这是x”。图2给出了一个更准确的Python赋值的效果。箭头用于显示变量引用的值。请注意,旧值不会被新值擦除,变量只需切换到引用新值。效果就像将粘贴便签从一个对象移动到另一个对象一样。这是赋值在Python中实际工作的方式,所以你会看到这样一些粘贴便签样式的图片散布在本书中。
图3 for循环的流程图
如果你在理解for循环时遇到困难,可能会发现学习流程图很有用。流程图中的菱形框表示程序中的决定。当Python遇到循环头时,它检查序列中是否有项。如果答案为”是”,则循环索引变量被赋予序列中的下一项,然后执行循环体。一旦循环体完成,程序返回到循环头并检查序列中的下一个值。如果没有更多的项,循环就退出,程序移动到循环之后的语句。 示例程序:终值
我们继续制定程序的确切规格说明。记住,这是程序做什么的描述。输入应该是什么需要用户输入初始投资金额,即本金。我们还需要说明账户赚多少利息。这取决于利率和计复利的频率。处理此问题的一种简单方法是让用户输入年度百分比率。无论实际利率和复利频率如何,年利率告诉我们一年内的投资收益。如果年利率为3%,那么100美元的投资将在一年的时间内增长到103美元。用户应如何表示年利率3%些合理的选择。让我们假设用户提供一个小数,因此利率将输入为0.03。
这样就得到以下规格说明:
程序 终值输入 principal 投资于美元的金额。 APR 以十进制数表示的年度百分比利率。输出 投资10年后的终值。关系 一年后的价值由principal(1 + apr)给出。该公式需要应用10次。
接下来为程序设计一个算法。我们将使用伪代码,这样就可以阐明我们的想法而又不必担心Python的所有规则。对于我们的规格说明,算法看起来很简单。
打印介绍输入本金的金额(principal)输入年度百分比利率(apr)重复10次: principal = principal *(1 + apr)输出principal的值
既然我们已经在伪代码中想明白了这个问题,现在该利用我们的Python新知识开发一个程序了。算法的每一行都转换为一条Python语句:
打印介绍(print语句,第2.4节)print(This program calculates the future value)print(of a 10-year investment.)输入本金的金额(数值input,第2.5.2节)principal = eval(input(Enter the initial principal:))输入年度百分比利率(数值input,第2.5.2节)apr = eval(input(Enter the annual interest rate:))重复10次:(计数循环,第2.6节)for i in range(10):计算principal = principal * (1 + apr)(简单赋值,第2.5.1节) principal = principal * (1 + apr)输出principal的值(print语句,第2.4节)print(The value in 10 years is:, principal)
就到这里了。下面是完成的程序:
# futval.py# A program to compute the value of an investment# carried 10 years into the futuredef main(): print(This program calculates the future value) print(of a 10-year investment.) principal = eval(input(Enter the initial principal:)) apr = eval(input(Enter the annual interest rate:)) for i in range(10): principal = principal * (1 + apr) print(The value in 10 years is:, principal)main()
注意,我添加了几个空行来分隔程序的输入、处理和输出部分。策略性地放置”空行”能让程序更具有可读性。
这就是我所举的例子,测试和调试是留给你的练习。 小结
编写程序需要一种系统的方法来解决问题,包括以下步骤。
1.问题分析:研究需要解决的问题。
2.程序规格说明:确定程序要做什么。
3.设计:用伪代码编写算法。
4.实现:将设计翻译成编程语言。
5.测试/调试:查找和修复程序中的错误。
6.维护:让程序保持最新,满足不断变化的需求。
许多简单的程序遵循输入、处理、输出(IPO)的模式。
程序由标识符和表达式构成的语句组成。
标识符是一些名称,它们以下划线或字母开头,后跟字母、数字或下划线字符的组合。Python中的标识符区分大小写。
表达式是产生数据的程序片段。表达式可以由以下部件组成:
字面量 字面量是特定值的表示。例如,3是数字3的字面量表示。
变量 变量是存储值的标识符。
运算符 运算符用于将表达式组合为更复杂的表达式。例如,在x + 3 * y中,使用了运算符+和*。
数字的Python运算符包括加法(+)、减法(-)、乘法(*)、除法(/)和乘幂(**)等常见的算术运算。
Python输出语句print将一系列表达式的值显示在屏幕上。
在Python中,使用等 (=)表示将值赋给变量。利用赋值,程序可以从键盘获得输入。Python还允许同时赋值,这对于利用单个提示获取多个输入值很有作用。
确定循环是执行次数已知的循环。Python的for语句是一个循环遍历一系列值的确定循环。Python列表通常在for循环中用于为循环提供一系列值。
for语句的一个重要用途是实现计数循环,这是专门设计的循环,以便将程序的某些部分重复特定的次数。Python中的计数循环通过使用内置的range函数,来产生适当大小的数字序列。 判断对错
1.编写程序的最好方法是立即键入一些代码,然后调试它,直到它工作。
2.可以在不使用编程语言的情况下编写算法。
3.程序在写入和调试后不再需要修改。
4.Python标识符必须以字母或下划线开头。
5.关键词是好的变量名。
6.表达式由文字、变量和运算符构成。
7.在Python中,x = x + 1是一个合法的语句。
8.Python不允许使用单个语句输入多个值。
9.计数循环被设计为迭代特定次数。
10.在流程图中,菱形用于展示语句序列,矩形用于判断点。 多项选择
1.以下项不是软件开发过程中的一个步骤。
a.规格说明 b.测试/调试c.决定费用 d.维护
2.将摄氏度转换为华氏度的正确公式是。
a. F = 9/5(C) + 32 b.F = 5/9(C) 2
c. F = B2 AC d.F = (212 – 32)/(100 – 0)
3.准确描述计算机程序将做什么来解决问题的过程称为。
a.设计 b.实现 c.编程 d.规格说明
4.以下项不是合法的标识符。
a.spam b.spAm c.2spam d.spam4U
5.下列不在表达式中使用。
a.变量 b.语句 c.操作符d.字面量
6.生成或计算新数据值的代码片段被称为。
a.标识符 b.表达式c.生成子句 d.赋值语句
7.以下项不是IPO模式的一部分。
a.输入 b.程序 c.处理 d.输出
8.模板for lt;variablegt; in range(lt;exprgt;)描述了。
a.一般for循环 b.赋值语句
c.流程图 d.计数循环
9.以下项是最准确的Python赋值模型。
a.粘贴便签 b.变量盒子c.同时 d.塑料尺
10.在Python中,获取用户输入通过一个特殊的表达式来实现,称为。
a.for b.read c.同时赋值 d.input 讨论
1.列出并用你自己的语言描述软件开发过程中的六个步骤。
2.写出chaos.py程序(第1.6节),并识别程序的各部分如下:
圈出每个标识符。
为每个表达式加下划线。
在每一行的末尾添加注释,指示该行上的语句类型(输出、赋值、输入、循环等)。
3.解释确定循环、for循环和计数循环几个概念之间的关系。
4.显示以下片段的输出:
a.for i in range(5):
print(i * i)
b.for d in [3,1,4,1,5]:
print(d, end= )
c.for i in range(4):
print(Hello)
d.for i in range(5):
print(i, 2**i)
5.先写出一个算法的伪代码而不是立即投入Python代码,为什么是一个好主意p>
6.除end之外,Python的print函数还支持其他关键字参数。其中一个关键字参数是sep。你认为sep参数是什么示:sep是分隔符的缩写。通过交互式执行或通过查阅Python文档来检验你的想法)。
7.如果执行下面的代码,你认为会发生什么p>
print(start)for i in range(0): print(Hello)print(end)
1.一个用户友好的程序应该打印一个介绍,告诉用户程序做什么。修改convert.py程序(第2.2节),打印介绍。
2.在许多使用Python的系统上,可以通过简单地点击(或双击)程序文件的图标来运行程序。如果你能够以这种方式运行convert.py程序,你可能会发现另一个可用性问题。 程序在新窗口中开始运行,但程序一完成,窗口就会消失,因此你无法读取结果。在程序结束时添加一个输入语句,让它暂停,给用户一个读取结果的机会。下面这样的代码应该有效:
input(Press the Enter key to quit.)
3.修改avg2.py程序(第2.5.3节),找出三个考试成绩的平均值。
4.使用循环修改convert.py程序(第2.2节),让它在退出前执行5次。每次通过循环,程序应该从用户获得另一个温度,并打印转换的值。
5.修改convert.py程序(第2.2节),让它计算并打印一个摄氏温度和华氏度的对应表,从0℃到100℃,每隔10℃一个值。
6.修改futval.py程序(第2.7节),让投资的年数也由用户输入。确保更改最后的消息,以反映正确的年数。
7.假设你有一个投资计划,每年投资一定的固定金额。修改futval.py,计算你的投资的总累积值。该程序的输入将是每年投资的金额、利率和投资的年数。
8.作为APR的替代方案,账户所产生的利息通常通过名义利率和复利期数来描述。例如,如果利率为3%,利息按季度计算复利,则该账户实际上每3个月赚取0.75%的利息。请修改futval.py程序,用此方法输入利率。程序应提示用户每年的利率(rate)和利息每年复利的次数(periods)。要计算10年的价值,程序将循环10 * periods次,并在每次迭代中累积rate/period的利息。
9.编写一个程序,将温度从华氏温度转换为摄氏温度。
10.编写一个程序,将以千米为单位的距离转换为英里。1千米约为0.62英里。
11.编写一个程序以执行你自己选择的单位转换。确保程序打印介绍,解释它的作用。
12.编写一个交互式Python计算器程序。程序应该允许用户键入数学表达式,然后打印表达式的值。加入循环,以便用户可以执行许多计算(例如,最多100个)。注意:要提前退出,用户可以通过键入一个错误的表达式,或简单地关闭计算器程序运行的窗口,让程序崩溃。在后续图书节中,你将学习终止交互式程序的更好方法。
“异步图书”后台回复答案,得到本书的PPT和习题答案。

Python之父作序推荐
Python编程入门经典
● 广泛使用计算机图形学——本书提供一个简单的图形软件包graphics.py作为示例。
● 生动有趣的例子——本书包含了完整的编程示例来解决实际问题。
● 亲切自然的行文——以自然的叙事风格介绍了重要的计算机科学概念。
● 灵活的螺旋式学习过程——简单地呈现概念,逐渐介绍新的思想,章节末加以巩固强化。
● 时机恰好地介绍对象——本书既不是严格的”早讲对象”,也不是”晚讲对象”,而是在命令式编程的基础上简要地介绍了对象概念。
● 提供丰富的教学素材——提供了大量的章末习题。还提供代码示例和教学PPT下载。
本书以Python语言为工具教授计算机程序设计。本书强调解决问题、设计和编程是计算机科学的核心技能。本书特色鲜明、示例生动有趣、内容易读易学,适合Python入门程序员阅读,也适合高校计算机专业的教师和学生参考。
John Zelle是美国Wartburg大学数学和计算机系教授。他负责教授Python程序设计课程,并且结合多年的教学经验编写了本书,在美国高校受到普遍的欢迎。他还从事VR、AI等方面的研究,发表了一些机器学习方面的论文。
延伸推荐
小学生开始学Python,最接近AI的编程语言:安利一波Python书单 政策升温:大家都在学大数据,一大波好书推荐
一本基于Python语言的Selenium自动化测试书 8本新书,送出一本你喜欢的 AI经典书单| 入门人工智能该读哪些书p>
点击关键词阅读更多新书:
Python|机器学习|Kotlin|Java|移动开发|机器人|有奖活动|Web前端|书单
在”异步图书”后台回复”关注”,即可免费获得2000门在线视频课程;推荐朋友关注根据提示获取赠书链接,免费得异步图书一本。赶紧来参加哦!
扫一扫上方二维码,回复”关注”参与活动!
今日活动
昨日获奖读者:想当年 自在
请获奖读者,在表单中填写获奖信息https://www.wenjuan.in/s/m2iaqif/
点击阅读原文,购买《Python程序设计(第3版)》一书返回搜狐,查看更多
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览214521 人正在系统学习中 相关资源:wrap::open_book:?一个高效灵活的Go(golang)自动换行包_go自动…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!