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

print(z.real) # 提取实部

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.append(math.ceil(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.append(math.gcd(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.5

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.13

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”

3.17

判断题: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'))

print(s.replace('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***

# 这里将空格换成*

3.22

格式化输出389的二进制、八进制、十进制、和十六进制的表达式。以及对应的Unicode字符。

print("{0}的二进制是{0:b}\n"

"{0}的八进制是{0:o}\n"

"{0}的十进制是{0:d}\n"

"{0}的十六进制是{0:x}\n"

"{0}的Unicode字符是{0:c}\n".format(389))

389的二进制是110000101

389的八进制是605

389的十进制是389

389的十六进制是185

389的Unicode字符是ƅ

3.23

格式化输出0.002 178 对应的科学表示法形式,保留4位有效位的标准浮点数形式以及百分形式。

print("科学表示法:{0:e}\n"

"标准浮点形式:{0:.4f}\n"

"百分形式:{0:.4%}".format(0.002178))

科学表示法:2.178000e-03

标准浮点形式:0.0022

百分形式:0.2178%

3.24

进度条反映了软件的执行速度,请思考并给出至少3种提高软件执行速度的方法。

1.减少程序代码,尽量使用函数,局部变量

2.使用内建的字符串,元组,列表,集合,字典等容器。

3.有选择性的消除属性访问。如多用 from math import sqrt 而不要直接再程序中多次调用 math.sqrt(),或直接声明局部变量。

3.25

str.center()方法的功能是什么?

str.center()方法会对原字符串进行排版,通过指定一个长度值,将原字符串在该长度内居中。可选的填充字符参数可以指定填充字符,默认情况下以空格为填充字符。如果width大于字符串长度,则返回一个新字符串,否则返回原字符串。

str.center(width, fillchar)

# width字符串排版总宽度,整型参数,不可省略的参数

# fillchar填充字符,字符串参数,可省略的参数,省略时填充字符为空格符

3.26

如果将\r放在print()中字符串的其他部分,会产生什么效果?

产生的效果是,只会运行显示print()字符串中\r后面的字符串

python一年365天、初始水平值_2020年11月7日,20201107相关推荐

  1. python编程入门与案例详解-quot;Python小屋”免费资源汇总(截至2018年11月28日)...

    原标题:"Python小屋"免费资源汇总(截至2018年11月28日) 为方便广大Python爱好者查阅和学习,特整理汇总微信公众号"Python小屋"开通29 ...

  2. Python之pyecharts:利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化

    Python之pyecharts:利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化 目录 利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化 Bar( ...

  3. “Python小屋”免费资源汇总(截至2018年11月28日)

    为方便广大Python爱好者查阅和学习,特整理汇总微信公众号"Python小屋"开通29个月以来推送过的700多篇文章清单,如果需要本清单的电子版,可以在公众号后台发送消息&quo ...

  4. md5值最大长度_豆长老之比特币-哈希值是什么11月16日分享篇

    哈希值,或哈希散列(Hash),又称为哈希算法 是密码学里的经典技术,它是一种单向密码体制,是从明文到密码的不可逆过程,即只有加密没有解密过程.哈希算法将任意长度的二进制值映射为较短的固定长度的二进制 ...

  5. qt emit是什么意思_2020年11月14日 无赞赏QT吗哪 :在历史的掌权者面前作信心的决断...

    QT是Quiet Time的简称,是敬虔时刻的意思:QT也就是灵修. QT(灵修)是每位基督徒每天生命中的需要,就如同人肉体每天需要食物一样,所以QT是基督徒每天成长的必须:并且最有效的QT就是早上( ...

  6. qt emit是什么意思_2020年11月12日 无赞赏QT吗哪 :一同站在福音之上的祷告同工...

    QT是Quiet Time的简称,是敬虔时刻的意思:QT也就是灵修. QT(灵修)是每位基督徒每天生命中的需要,就如同人肉体每天需要食物一样,所以QT是基督徒每天成长的必须:并且最有效的QT就是早上( ...

  7. python行业中性_用Python分析指数: 11月16日热门指数Z值表

    衡量市场,指数高低是一个难题! 价值投资者很难知道,现在是高估,还是低估? 买的是便宜还是,贵了? 应该现在买/卖,还是再等等? 针对这个问题,我在网上看到了一些量化的处理方法.例如:平均数法,中位数 ...

  8. 11月30日云栖精选夜读 | 用Python告诉你,现在的房租有多高?

    杭州房租:钱塘两岸最高,奥体单间达4830元/月.不少人感叹:躲过了高房价,躲不过高房租,面对房租上涨,感觉身体被掏空.2018年的这个夏天,房租正在成为摧垮年轻人的"第一根稻草" ...

  9. 502 bad gateway这是什么意思_2020年11月11日将出现“水星西大距”,这是什么意思?...

    2020年11月11日1时03分,将出现今年第三次,即最后一次水星西大距天文现象:届时11日黎明时分,在东方低空将看到水星.很多人并不知道什么叫"水星西大距":同时今年出现三次水星 ...

最新文章

  1. TypeMock是很不错的模拟测试框架
  2. Django 学习(一)Django安装以及初步使用
  3. 母校/母语/母公司怎么说?
  4. linux中tar命令的使用
  5. 网络请求get和post的区别
  6. 【转】UINavigationBar 使用总结
  7. 2月25日线上见!iQOO 3发布会官宣:定义新速度
  8. c语言 动态链表,C语言的链表(篇章之二:动态链表)
  9. leetcode题目整理
  10. 分析wordpress搭建的网站百度收录不好的原因
  11. (Excel)常用函数公式及操作技巧之六:汇总计算与统计(一)
  12. Typora设置高亮
  13. 如何通俗地理解假设检验基本原理
  14. 梅尔倒谱分析MFCC
  15. C#windows图书信息管理系统
  16. python怎么定义一个整数_python整数实现
  17. Python经典练习题——求水仙花数
  18. hashmap的api
  19. linux bios密码设置时间,linux忘记root密码及时间设定
  20. A*算法详解(讲的一级棒 )

热门文章

  1. java 访问手机存储卡,Android App将数据写入内部存储和外部存储的示例
  2. 未來用工新趨勢_数字化商业浪潮来袭 未来用工新趋势成焦点
  3. python语言基础与应用章节七_专技天下Python语言基础与应用章节测试答案
  4. python 实现ping测试延迟的两种方法
  5. python教程:将一个列表切分成多个小列表
  6. python json字符串类型的value换行方案
  7. python logging模块写入中文,文件乱码的解决方法
  8. java hashset 源码_Java集合源码分析-HashSet和LinkedHashSet
  9. linux 把mysql大小写关闭_linux中设置mysql大小写不去区分方法
  10. html播放完视频自动关闭,html视频播放完后跳转