Q2.1公司或组织都需要对资金使用进行管理,因此需要计算机辅助进行财务统计和报表分析。请从不少于3个角度分析该问题的计算部分。
A:(1) 收支记录:公司所有部门的收支记录采用计算机录入并管理;
(2) 分析比较: 对收支历史数据进行比较分析;
(3) 财务审计:计算机辅助找到财务漏洞。
Q2.2《红楼梦三国演义》是中国四大名著之一,该书描述了 100多个典型人物统计书中典型人物名字出现的次数能够侧面反映人物的重要性。请给出这个计算问题的IPO描 述 ,重点描述其中的算法部分。6.6节将给出统计《三国演义》中人物出场次数的程序。
A: Input:《红楼梦》全文;
Process:对全文分词,找到其中的人物名称,统计人物名称出现的次数并排序;
Output: 按照从高到低顺序输出排序后的人物名称。
Q2.3程序设计不能解决所有问题。例如,计算机无法回答如下这些问题:你最欣赏的历史人物是谁?孙红雷和姚晨两位演员,谁的演技更好?创新对中国未来经济的价值有多大?请讨论总结,哪些类型的问题无法通过程序设计解决?
A:模糊或主观性很强的问题、 鉴赏类问题、 纠纷类问题等
Q2.4下面不符合Python语言命名规则的是( )
A. monthly B. monTHly C. 3monthly D. _Monthly3_
A:C
Q2.5请写出Python语言的33个保留字,本书已经介绍过的保留字,并解释这些保留字的基本含义。
出现过的保留字:
import、 from: 用于导入模块;
in: 判断变量是否在序列中;
not: 表示“不是”,可用于逻辑非操作,表达式运算;
and: 表达式运算,逻辑与操作;
if、 elif、 else: 分支语句;
while: 用于循环;
def: 定义函数或方法;
没有出现的保留字:
lambda: 生成简写函数的 lambda 表达式;
as: 名称转换;
is: 表示“是”,用于表达式操作;
or: 表示“或” ,用于逻辑或和表达式运算;for: 用于循环;
try、 except、 finally: 用于异常捕捉及处理;
with: 用于上下文管理;
assert: 表示断言, 用于判断一个变量或一个表达式的值是否为真;
break: 表示中断;
class: 用于定义类;
continue: 用于执行下一次循环;
del: 用于删除变量或序列的值;
return: 用于函数返回结果;
yield: 用于从函数依次返回值;
raise: 用于抛出异常;
nonlocal: 用于函数嵌套定义时外层数据在内层的表示;
global: 表示全局变量;
None: 表示“空” ;
True: 表示“真” ;
False: 表示“假” ;
Q2.6请用一行代码编写一个回声程序,将用户输入的内容直接打印出来。
A:print(input()
Q2.7试想一下,为什么Python的命名不能以数字开头?
A:如果允许变量名开头是数字, 则无法区分变量名和数字类型,例如:如果变量名 091合法,则程序无法区分这个变量和数字 091。另外,有些数字可能含有字母,如浮点数 1E10。程序设计语言不能存在歧义,因此,需要约定变量名开头不能是数字,以便区分变量与数字。
2.8请修改实例代码2.1中第8行代码,将" purple”变为” violet”,观察程序运行结果的变化。
#e2.1DrawPython.py
import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40, 80)
turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
A:颜色由紫色变为紫罗兰色,看起来变浅了。
2.9请修改实例代码2.1中第10行代码,将 raiige(4)变为 range(5),观察程序运行结果的变化。
A:蟒蛇的长度变长了。
2.10请修改实例代码2.1中第4行和第6行代码,在两行的最前面增加注释符号,即将这两行变成注释语句,观察程序运行结果的变化。
A:画笔在一开始的平移时画出了一条细线。因为注释了 penup()后,画笔不会抬起,每次移动都相当于画线。
Q2.11请用turtle库的turtle.fd()函数绘制一条直线。
A:
import turtle
turtle.fd(50)
Q2.11请用turtle库的turtle.circle()函数绘制一个完整的圆。
A:
import turtle
turtle.circle(40)
Q2.11请用turtle库函数绘制一个包含9个同心圆的靶盘。
A:
import turtle
for i in range(9):
turtle.circle(10 + 10*i)
turtle.right(90)
turtle.penup()
turtle.fd(10)
turtle.pendown()
turtle.left(90)