本节书摘来自华章计算机《Python程序设计》一书中的第1章,第1.1节,作者:[美]戴维 I.施奈德(David I. Schneider)著,更多章节内容可以访问云栖社区“华章计算机”公众号查看

第1章 计算与问题求解简介

1.1 计算与Python简介

本书介绍如何使用计算机进行问题求解。虽然编程语言用Python,但是原理适用于大部分现代编程语言。许多示例和习题展示了在真实世界中是如何使用计算机的。下面是你可能提出的计算机和编程方面一些的问题。

问:我们如何与计算机沟通?

答:使用编程语言与计算机沟通。最低级别的是机器语言(machine language),其能被微处理器直接理解,但是很难为人所理解。Python是高级语言(high-level language)。它由人能理解的指令组成,如print(输出)、if(如果)、input(输入)等。其他著名的高级语言如Java、C++、Visual Basic等。

问:如何让计算机执行复杂的任务?

答:任务可分解为一系列指令,称作程序(program),其能以编程语言表示。程序的大小从两三条指令到几百万条指令不等。执行指令的过程称作运行(running)程序。

问:为什么使用Python作为编程语言?

答:许多人认为Python是教初学者编程最好的语言,我们表示赞同。Python也被主要软件公司所使用。Python功能强大、易写易读、容易下载和安装,它能在Windows、Mac和Linux等操作系统上运行。

问:Python的名字是怎么来的?

答:它的名字来源于英国喜剧剧团Monty Python。Python的创始人Guido van Rossum(荷兰人)是该剧团的粉丝。

问:本书使用编辑器IDLE来生成程序。IDLE是如何得名的?

答:IDLE表示集成开发环境(Integrated DeveLopment Environment)。(一些人认为该名字是为了向Monty Python剧团的创始成员Eric Idle致敬。)IDLE编辑器有许多特性(如对代码着色、格式化辅助等)以帮助程序员。

问:Python被认为是一种解释型语言。那么什么是解释型语言?

答:解释型语言使用一个叫作解释器(interpreter)的程序,一次将高级语言的一条语句翻译为机器语言,然后运行这段程序。解释器会发现几种类型的错误,一旦遇到一个错误,将终止程序的运行。

问:术语“程序员”和“用户”是什么意思?

答:程序员(也称为开发者)是指在计算机上编写程序来解决问题的人。在分析问题并制定解决方案之后,程序员编写和测试相应的程序,这段程序用来指导计算机如何实现该方案。程序可能被程序员或者其他人运行多次。用户是任何运行该程序的人。在使用本书的过程中,你既是一个程序员,也是一个用户。

问:术语“代码”是什么意思?

答:程序员写的Python指令称为代码。编写程序的过程通常称作编码(coding)。

问:所有的程序都具有某些共性吗?

答:大部分程序做三件事:接受数据、操作数据和产生结果。这些操作称为输入(input)、处理(processing)和输出(output)。输入数据可能存放于程序中、位于磁盘上或者由用户提供,以响应程序运行时计算机的需求。输入数据的处理发生在计算机内部,可能花费几毫秒到几小时。输出数据显示在屏幕上、打印到打印机上或者记录在磁盘上。以一个计算营业税的程序作为一个简单的例子,输入数据是物品的售价,处理指将售价和营业税率进行相乘,输出数据是相乘的结果,即所需缴纳的营业税。

问:术语“硬件”和“软件”是什么含义?

答:硬件指计算机的物理部件,包括全部的外围设备、中央处理器(CPU)、磁盘驱动器以及全部的机电设备。软件指的是程序。

问:问题是如何使用程序加以解决的?

答:问题求解的过程是:通过仔细地阅读问题以确定给定的数据和所需的输出是什么,然后设计一步一步处理给定数据的过程,最后产生所需的输出。

问:包括Python在内的许多编程语言使用基于零的计数系统。什么是基于零的计数系统?

答:在基于零的计数系统中,从0开始,而不是从1开始计数。例如,在单词“code”中,“c”应该是第0个字母,“o”是第1个字母,以此类推。

问:学习Python有什么先决条件?

答:你应该熟悉在计算机上文件夹(也称作目录)和文件是如何管理的。文件位于存储设备上,如硬盘、U盘、CD和DVD等。传统上,个人计算机的主要存储设备是硬盘和软盘。因此,磁盘(disk)这个词经常用于表示任何存储设备。

问:本书中一个开发好的程序示例是什么?

答:图1-1展示了第3章中一个程序的可能输出结果。当其首次执行时,显示语句“Enter a first name:”。在用户键入一个名字并且按下回车(〈Enter〉或者〈return〉)键后,全部具有该名字的居民都会显示出来。

问:程序员是如何生成上述程序的?

答:对于该程序,程序员编写了大概10行代码,以搜索一个名为USpres.txt的文件,并提取所需的姓名。

问:按键显示的约定是什么?

答:组合键〈key1+key2〉的含义是“按住〈key1〉,然后按下〈key2〉”。组合键〈Ctrl+C〉将所选的内容放入剪贴板。组合键〈key1/key2〉的含义是“按下并松开〈key1〉,然后按下〈key2〉”。组合键〈Alt/F〉打开菜单栏上的“文件”菜单。

问:如何获取本书中的程序示例?

答:阅读前言部分,获取如何从Pearson网站上下载示例程序的信息。

问:新的程序存储在哪里?

答:在编写第一个程序之前,应该创建一个专用的文件夹存储程序。

python编写程序 计算1_《Python程序设计》——第1章 计算与问题求解简介 1.1 计算与Python简介-阿里云开发者社区...相关推荐

  1. python面向过程实践汉诺塔_递归汉诺塔-和递归汉诺塔相关的内容-阿里云开发者社区...

    多柱汉诺塔最优算法设计探究 多柱汉诺塔最优算法设计探究 引言 汉诺塔算法一直是算法设计科目的最具代表性的研究问题,本文关注于如何设计多柱汉诺塔最优算法的探究.最简单的汉诺塔是三个柱子(A.B.C),因 ...

  2. 不属于python标准库的是_《Python Cookbook(第2版)中文版》——1.10 过滤字符串中不属于指定集合的字符-阿里云开发者社区...

    本节书摘来自异步社区<Python Cookbook(第2版)中文版>一书中的第1章,第1.10节,作者[美]Alex Martelli , Anna Martelli Ravenscro ...

  3. python穷举法搬砖_python 穷举法 算24点(史上最简短代码)-阿里云开发者社区

    # 作者:hhh5460 # 时间:2017年6月3日 import itertools deftwentyfour(cards): '''史上最短计算24点代码''' for nums in ite ...

  4. python调用 matlab库_python调用matlab的搜索结果-阿里云开发者社区

    2018python技术问答集锦,希望能给喜欢python的同学一些帮助 小编发现问答专区中有很多人在问关于python的问题,小编把这些问题汇总一下,希望能给喜欢python的大家一些启示和帮助 本 ...

  5. python与材料计算公式_《从问题到程序:用Python学编程和计算》——2.11 补充材料-阿里云开发者社区...

    本节书摘来自华章计算机<从问题到程序:用Python学编程和计算>一书中的第2章,第2.11节,作者 裘宗燕,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2 ...

  6. python 黑客工具开发_python黑客软件的搜索结果-阿里云开发者社区

    带你读<Python科学计算(原书第2版)>之一:导论 计算机科学丛书点击查看第二章点击查看第三章Python科学计算(原书第2版)Python for Scientists, Secon ...

  7. 不是python对文件的读操作方法的是-一文读懂Python对文件的各种操作方式-阿里云开发者社区...

    文件操作:Python中的文件对象不仅可以用来访问普通的磁盘文件,而且也可以访问任何其它类型抽象层面上的"文件". 通过Python程序来对计算机中的各种文件进行增删改查的操作,也 ...

  8. 如何用python开发游戏_手把手教你用Python完成一个控制台小游戏-阿里云开发者社区...

    很多人想学Python程序设计或者已经了解过一点Python程序设计基础,却没办法开发出一个项目. 今天,通过演示一个简单的控制台小游戏制作,手把手教你如何用Python编写一个游戏程序,即便你是个新 ...

  9. python数据科学实践指南_《Python数据科学实践指南》——导读-阿里云开发者社区...

    前 言 为什么要写这本书 我接触大数据技术的时间算是比较早的,四五年前当大数据这个词火遍互联网的时候,我就已经在实验室里学习编程及算法的知识.那个时候我一心想要做学术,每天阅读大量的英文文献,主要兴趣 ...

最新文章

  1. 【深度学习笔记】关键点检测——标签(Ground Truth)构建
  2. SSH服务理论+实践
  3. Android TimePickerDialog样式配置与TimePicker模式选择
  4. VTK:Utilities之CheckVTKVersion
  5. Java命令学习系列(三)——Jmap
  6. docker-compose.yml配置文件详解
  7. Delphi中一些DLL的运用。
  8. 听飞狐聊JavaScript设计模式系列11
  9. 松灵机器人Scout代码分析 --- scout_ros
  10. IATF16949认证辅导,IATF16949第六章容易发生的问题点及处理方案
  11. php mysql 微博系统_基于校网学堂的校园微博系统设计与实现(PHP,MySQL)(含录像)
  12. linux电子相册,基于Linux电子相册的.doc
  13. glib linux,[转载]linux下glib.h的介绍
  14. 台式计算机怎么强制关机,台式电脑怎么强制关机
  15. C# Remoting的基础介绍
  16. qq飞车登录不上连接服务器未响应,QQ飞车手游无法登录怎么办 卡在登录界面无法进入...
  17. 90.网络安全渗透测试—[常规漏洞挖掘与利用篇6]—[文件包含-PHP封装伪协议详解实战示例]
  18. 计算机指令长度是固定的,第四次作业 指令系统 设计算机A有60条指令,指令操作码6位固定长度...
  19. HDU 5945 Fxx and game 单调队列优化dp
  20. 2016年中国软件行业基准数据正式发布

热门文章

  1. matlab步进电机半步控制器,步进电机驱动模式:整步、半步、细分
  2. 硬件工程师必须牢记的十点总结
  3. c语言qq密码程序设计,【转】C语言实现QQ密码大盗
  4. 旅游景区怎么在抖音上卖门票?
  5. linux下查看系统的信息
  6. 基于python3+opencv3遥感影像的湖泊边界提取
  7. 如何安装husky_Husky robot 玩耍1
  8. 顺序表和单链表的插入删除操作时间复杂度的区别
  9. 新松机器人袁_新松机器人有多大成长空间?
  10. linux 查看服务器版本