python⼀年365天、初始⽔平值_2020年11⽉7⽇,20201107 Python语⾔程序设计基础(第2版)崇天 著 思考题
第3章 基本数据类型*(仅供参考)*
3.1
既然浮点数可以表⽰所有整数数值,Python语⾔为何要同时提供整数和浮点数两种类型?
因为浮点数类型的最长运算结果可输出17位数字,其运算精度为2.220e-16,运算误差仅为0.000 000 000 000 000 2,在对数据进⾏⾼精度科学计算是浮点数类型不能准确的计算出来。⽽整数类型进⾏运算能够输出完全准确的结果。
3.2
Python语⾔中整数1010的⼆进制、⼋进制和⼗六进制表⽰分别是什么?
⼆进制:0b1111110010
⼋进制:0o1762
⼗六进制:0x3f2
a = bin(1010) # ⼆进制
b = oct(1010) # ⼋进制
c = hex(1010) # ⼗六进制
print(a, b, c)
3.3
Python语⾔中-77.的科学计数法表⽰是什么?4.3e-3的⼗进制表⽰什么?
-77.的科学计数法表⽰:-7.7e1 或 -7.7e+1
4.3e-3的⼗进制表⽰:0.0043
3.4
复数2.3e+3-1.34e-3j的实部和虚部分别是什么?采⽤什么⽅法提取⼀个复数的实部和虚部?
实部:2.3e+3
虚部:-1.34e-3
z = 2.3e+3-1.34e-3j
al) # 提取实部
print(z.imag) # 提取虚部
2300.0
-0.00134
3.5
思考各操作符的优先级,计算下列表达式。
解:
3.6
请将下列数学表达式⽤Python程序写出来,并运算结果。mod 表⽰取余
x1 = (pow(2, 4)+7-3*4)/5
x2 = (1+pow(3, 2))*(16 % 7)/7
print("x1={}\nx2={}".format(x1, x2))
x1=2.2
x2=2.857142857142857
3.7
假设x=1,x*=3+5**2的运算结果是什么?
x = x*(3+5**2)=1*(3+25)=28
3.8
请利⽤math库运⾏下⾯语句,获得计算结果。
import math
s = list()
s.append(math.sin(2*math.pi)) # (1)
s.append(math.fabs(-2.5)) # (2)
s.il(3.5+math.floor(-2.5))) # (3)
s.append(round(math.fabs(-2.5))) # (4)
s.append(math.sqrt(math.pow(2, 4))) # (5)
s.append(math.log(math.e)) # (6)
s.d(12, 9)) # (7)
s.append(math.fmod(36, 5)) # (8)
for i in range(8):
print("s{}={}".format(i+1, s[i]))
结果
s1=-2.4492935982947064e-16
s2=2.5python格式化输出format
s3=1
s4=2
s5=4.0
s6=1.0
s7=3
s8=1.0
3.9
请利⽤math库将47°的⾓转换为弧度值,并将结果赋予给⼀个变量。
3.10
请利⽤math库将π/7的弧度值转换为⾓度值,并将结果赋予给⼀个变量。
import math
x = math.radians(47)
y = math.degrees(math.pi/7)
print("47°的⾓转换为弧度值为:{}\n"
"π/7的弧度值转换为⾓度值为:{}".format(x, y))
47°的⾓转换为弧度值为:0.8203047484373349
π/7的弧度值转换为⾓度值为:25.714285714285715
3.11
math库有44个函数,Python计算⽣态有超过10万个各类函数库,思考⼀下,该怎么学习这些函数库呢?
略。。。
3.12
⼀年365天,初始⽔平值为1.0,每⼯作⼀天⽔平增加N,不⼯作时⽔平不下降,⼀周连续⼯作4天,请编写程序运算结果并填写下表:def day(n):
level = 1.0
for week in range(365):
if week % 7 in [1, 2, 3, 4]:
level *= (1 + n)
return level
for i in range(1, 11):
N = i / 1000
print("N={:.3f}的年终值为{:.3f}".format(N, day(N)))
N=0.001的年终值为1.231
N=0.002的年终值为1.515
N=0.003的年终值为1.865
N=0.004的年终值为2.294
N=0.005的年终值为2.822
N=0.006的年终值为3.470
N=0.007的年终值为4.267
N=0.008的年终值为5.246
N=0.009的年终值为6.447
N=0.010的年终值为7.922
3.14
3.15
⼀年365天,初始⽔平值为1.0,以每个⽉30天计算,在每个⽉⽉初连续10天⾥,每⼯作⼀天⽔平增加N,该⽉其他时间⼯作与否都不增加⽔平值。请编写程序运算结果并填写下表:
def year(n):
level = 1.0
for month in range(12):
for day in range(1, 31):
if day / 10 <= 1.0:
level *= (1 + n)
return level
for i in range(1, 11):
N = i / 1000
print("N={:.3f}的年终值为{:.3f}".format(N, year(N)))
N=0.001的年终值为1.127
N=0.002的年终值为1.271
N=0.003的年终值为1.433
N=0.004的年终值为1.615
N=0.005的年终值为1.819
N=0.006的年终值为2.050
N=0.007的年终值为2.310
N=0.008的年终值为2.602
N=0.009的年终值为2.930
N=0.010的年终值为3.300
3.16
s=“hello”, t=“world”, s+=t, 则s、s[-1]、s[2:8]、s[-2::-1]分别是多少?
s = s + t
s = “helloworld”
s[-1] = “d”
s[2:8] = “llowor”
s[-2::-1] = “lrowolleh”
判断题:Python中"4"+“5"结果为"9”
错,字符"4"和"5"的拼接,应是"45"
3.18
采⽤微实例3.1的设计思路还能完成哪些常⽤计算需要?
实例3.1 是获取星期字符串
⽇期、⾦额、各种商品的型号等等
3.19
s=“Python String”,写出下列操作的输出结果:
s = "Python String"
print(s.upper())
print(s.lower())
print(s.find('i'))
place('ing', 'gni'))
print(s.split())
PYTHON STRING
python string
10
Python Strgni
['Python', 'String']
3.20
下列表达式错误的是()。
A.‘abcd’
B.‘abc’
C."
D.‘Hello’>‘hello’
C
3.21
请思考并描述下⾯Python语句的输出结果:
print("{:>15s}:{:<8.2f}".format(“Length”, 23.87501))
在15个字符长度⾥,由右对齐输出Length,其余⽤空格填充;再接着输出冒号(:),后⾯是在8个字符长度⾥,由左对齐输出23.87501保留2位⼩数长度的数23.88
*********Length:23.87***
# 这⾥将空格换成*

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。