Python程序语言设计基础(第二版)思考与练习
欢迎来到我的友链小屋
# Python程序语言设计基础(第二版)思考与练习 --- --- ## 3.5 思考各操作符的优先级,计算下列表达式 一、30-3\*\*2+8//3\*\*2*10 答:
>>> 30-3**2+8//3**2*10
21
# 幂运算第一,然后算地板除和乘法,最后加减
---
二、3*4**2/8%5
>>> 3*4**2/8%5
1.0
# 先算幂,然后*,/,%依次运算
---
三、3\*\*2\*\*3
>>> 3**2**3
6561
# 嵌套幂运算,优先算高级幂
---
四、(2.5+1.25j)*4j/2
>>> (2.5+1.25j)*4j/2
(-2.5+5j)
'''
先看下面运算拆分
4j/2 = 2j
2.5*2j = 5j
1.25j*2j = -2.5+0j
所以 (2.5+1.25j)*4j/2
=2.5*2j + 1.25j*2j
=5j + (-2.5+0j)
=5j - 2.5
即:
-2.5+5j
'''
---
---
## 3.6 请将下列数学表达式用python程序写出来,并运算结果
一、 ![avatar][s1]
>>> x = (2**4+7-3*4)/7
---
二、![avatar][s2]
>>> x = (1+3**2)*(16%7)/7
---
---
## 3.7 假设x=1,x*=3+5**2的运算结果是什么?
>>> x = 1
>>> x*=3+5**2
即
>>> x=(3+5**2)*x
28
---
---
## 3.12 一年有365天,初始水平值为1.0,每工作一天水平增加N,不工作时水平不下降,一周连续工作4天,请编写程序运算结果并填写下表
def runx():
day1=int(input('请输入天数:'))
initial = 1.0
initial1 = 1.0
ica = float(input("请输入每天增加量:"))
for i in range(day1):
if i%7 in [1,2,3,4]:
initial = initial*(initial1 + ica)
print('{:.2f}'.format(initial))
runx()
|增加值|0.001|0.002|0.003|0.004|0.005|0.006|0.007|
|----|----|----|----|----|----|----|----|----|----|----|
|结果|1.23|1.52|1.86|2.29|2.82|3.47|4.27|
|增加值|0.008|0.009|0.010|
|----|----|----|----|----|----|----|----|----|----|----|
|结果|5.25|6.45|7.92|
---
---
## 3.13 一年有365天,初始水平值为1.0,每工作一天水平增加N,不工作时水平不下降,一周连续工作5天,请编写程序运算结果并填写下表
def runx():
day1=int(input('请输入天数:'))
initial = 1.0
initial1 = 1.0
ica = float(input("请输入每天增加量:"))
for i in range(day1):
if i%7 in [1,2,3,4,5]:
initial = initial*(initial1 + ica)
print('{:.2f}'.format(initial))
runx()
|增加值|0.001|0.002|0.003|0.004|0.005|0.006|0.007|
|----|----|----|----|----|----|----|----|----|----|----|
|结果|1.30|1.68|2.18|2.82|3.66|4.74|6.13|
|增加值|0.008|0.009|0.010|
|----|----|----|----|----|----|----|----|----|----|----|
|结果|7.94|10.27|13.29|
---
---
## 3.14 一年有365天,初始水平值为1.0,每工作一天水平增加N,不工作时水平不下降,一周连续工作6天,请编写程序运算结果并填写下表
def runx():
day1=int(input('请输入天数:'))
initial = 1.0
initial1 = 1.0
ica = float(input("请输入每天增加量:"))
for i in range(day1):
if i%7 in [1,2,3,4,5,6]:
initial = initial*(initial1 + ica)
print('{:.2f}'.format(initial))
runx()
|增加值|0.001|0.002|0.003|0.004|0.005|0.006|0.007|
|----|----|----|----|----|----|----|----|----|----|----|
|结果|1.37|1.87|2.55|3.47|4.74|6.47|8.81|
|增加值|0.008|0.009|0.010|
|----|----|----|----|----|----|----|----|----|----|----|
|结果|12.01|16.37|22.30|
---
## 3.15 一年有365天,初始水平值为1.0,以每个月30天计算,在每个月月初连续10天里,每工作一天水平增加N,该月其他时间工作与否都不增加水平值。请运算结果并填写下表。
while 1==1:
basics = 1.0
days = 360
increase = float(input("请输入每天的增加值:"))
for i in range(days):
if i%30 in [1,2,3,4,5,6,7,8,9,10]:
basics *= 1 + increase
print("{:.2f}".format(basics))
|增加值|0.001|0.002|0.003|0.004|0.005|0.006|0.007|
|---|---|---|---|---|---|---|---|
|结果|1.13|1.27|1.43|1.61|1.82|2.05|2.31|
|增加值|0.001|0.002|0.003|
|-|-|-|-|
|结果|2.60|2.93|3.30|
---
## 3.16 s="hello", t="world", s+=t, 则 s、s[-1]、s[2:8]、s[::3]、s[-2::-1]分别是多少?
|问|s|s[-1]|s[2:8]|s[::3]|s[-2::-1]|
|---|---|---|---|---|---|
|答|"helloworld"|"d"|"lowor"|"hlod"|"lrowolleh"|
> 解释:
> s[::3]:表示从第一个字母开始,查找间隔第三个的字母
> s[-2::-1]:反向查找,表示从倒数第二个字母开始查找到顺数第一个字母,并且反向输出
---
## 3.17 判断题:Python中"4"+"5"的结果为"9":
> 错,这是字符串拼接,不是数字计算
---
## 3.18 采用微实例 3.1 的设计思路还能完成哪些常用计算需求?
> 答:
---
## 3.19 s="Python String",写出下列操作的输出结果:
> s.upper()、s.lower()、s.find('i')
> s.replace('ing','qni')、s.split(' ')
解:
|s.upper()|s.lower()|s.find('i')|
|---|---|---|
|'PYTHON STRING'|'python string'|10|
|s.replace('ing','gni')|s.split(' ')|
|---|---|
|'Python Strgni'|['Python','String']|
解释:
> s.upper() 返回字符串str的副本,全部字符大写
> s.lower() 返回字符串str的副本,全部字符小写
> s.find('i') 查找字符串str中元素'i'的位置
> s.replace('ing','gni') 将字符串str中的元素'ing'替换为'gni'
> s.split(' ') 以空格为分隔符,返回分割后的字符串列表
---
## 3.20 下列表达式错误的是():
|A|'abcd'<'ad'| |B|'abc'<'abcd'>|
|-|-|-|-|-|
|C|''<'a'||D|'Helo'>'helo'|
|-|-|-|-|-|
答:
> A选项: 先比第0个元素,a和a比一样大;再比第一个元素,b比d小.那么'abcd'比'ad'小.结果是TRUE.
> B选项:前三个元素都相等,但'abcd'有第三个元素,而'abc'没有.所以'abc'<'abcd'.
> C选项:这个错了,既不是对,又不是错.
> D选项:先比第0个元素,'A'要比'a'小.所以'ABCD'应该小于'abcd'. 结果为False.
------
## 3.21 请思考并描述下面Python语句的输出结果
> print('{:>15s}:{:<8.2f}'.format('Length',23.87501))
>>> print('{:>15s}:{:<8.2f}'.format('Length',23.87501))
' Length:23.88 '
---
## 3.22 格式化输出 389 的二进制、八进制、十进制、十六进制的表达形式,以及对应的Unicode字符。
>>> '{:*^20b}'.format(389) #输出二进制
'*****110000101*****'
>>> '{:*<20o}'.format(389) #输出八进制
'605*****************'
>>> '{:*>20d}'.format(389) #输出十进制
'*****************389'
>>> '{:*^20X}'.format(389) #输出大写十六进制
'********185*********'
>>> '{:*^20c}'.format(389) #输出Unicode字符
‘*********b**********’
---
## 3.23 格式化输出 0.002178 对应的科学表示法形式,保留4位有效位的标准浮点形式及百分比形式
>>> '{:E}'.format(0.002178)
'2.178000E-03'
>>> '{:.4f}'.format(0.002178)
'0.0022'
>>> '{:.2%}'.format(0.002178) #返回百分比形式,并保留小数点后两位
'0.22%'
---
## 3.24 进度条反映了软件的执行速度,请思考并给出至少3种提高软件执行速度的方法。
> 硬件:使用性能更强的处理器;或使用固态硬盘等设备提高计算机整体速度。
>
> 软件自身:在编写时进行代码优化。编译时采用静态编译(Python 不存在编译的问题)。
>
> 运行平台:类似Linux环境下执行,把硬件的算力提升到更大
---
## 3.25 str.center()方法的功能是什么?
> 将字符串居中
---
## 3.26 如果将\r 放在print()中字符串的其他部分,会产生什么效果?
print('\r你好Python')
print('\r你好世界')
>>>>>>>>>>>>>>>
'你好Python'
'你好世界'
print('你好啊\rPython')
print('你好啊\r世界')
>>>>>>>>>>>>>>>
'Python'
'世界啊'
> 将转义符\r 放到字符串尾部是对程序没有影响;
>
> 然而如果放到其他地方,会导致\r 前面的所有字符不显示,因为每次输出到\r,指针又退回了行首,如果后面的内容足够长,后面的内容会将其覆盖。
---
[s2]:data:image/png;base64,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
[s1]:data:image/png;base64,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
Python语言学习菜鸟 老家四川南充,来玩留言,嘻嘻
话说觉得这个主题难受的请下面评论