5-1.整型。讲讲Python普通整型和长整型的区别。

  Python的标准整形类型是最通用的数字类型。在大多数32位机器上,标准整形类型的取值范围是-2**32~2**32 - 1。

  Python的长整型类型能表达的数值仅仅与你的机器支持的(虚拟)内存大小有关,换句话说,Python能轻松表达很大的整数。

  长整型类型是标准整形类型的超集,当程序需要使用比标准整形更大的整型时,可以使用长整型类型,在整型值后面添加L,表示这个为长整型,这两种整形类型正在逐渐统一为一种。

5-2.操作符。

(a)写一个函数,计算并返回两个数的乘积。

(b)写一段代码调用这个函数,并显示它的结果。

答:

(a)

    def mul(a ,b):  return  a*b 

(b)

    x(2,6)#或者def mul(a ,b):  return  a*b  if __name__=='__main__':  a = input()  b = input()  print mul(a, b)  

5-3.标准类型操作符。写一段脚本,输入一个测验成绩,根据下面的标准,输出他的评分成绩(A-F)。
   A:90~100

  B:80~89

  C:70~79

  D:60~69

  F:<60

答:

方法一:

    x = input("plz input your score:")if x >= 60:if x >= 70:if x >= 80 :if x >= 90:if x >= 100:print "A"else:print "B"else:print "C"else:print "D"else:print "E"else:print "F"

方法二:

    def grade(num):if 90 <= num <= 100:print 'A'elif 80 <= num <= 89:print 'B'elif 70 <= num <= 79:print 'C'elif 60 <= num <= 69:print 'D'elif 0 <= num <= 59:print 'F'else:print " The num is invalid."try:num = int(raw_input("Input a num:"))grade(num)except ValueError, e:print "You must input digits."

5-4.取余。判断给定年份是否是闰年。使用下面的公式。

  一个闰年就是指它可以被4整除,但不能被100整除,或者它既可以被4又可以被100整除。比如1992年、1996年和2000年是闰年,但1967年和1900年则不是闰年。下一个是闰年的整世纪是2400年。

    x = input("plz input year:")if x % 4 == 0 and x % 100 != 0:print " %d 是闰年" % (x)elif x % 400 == 0:print " %d 是闰年" % (x)else:print " %d 不是闰年" % (x)

5-5.取余。取一个任意小于1美元的金额,然后计算可以换成最少多少枚硬币。硬币有1美分、5美分、10美分、25美分4种。1美元等于100美分。

举例来说,0.76美元计算结果应该是3枚25美分,1枚1美分。类似于76枚1美分,2枚25美分+2枚10美分+1枚5美分+1枚1美分这样的结果都是不符合要求的。

方法一:(这是我最笨的做法)

    y = float(raw_input("input dollors:"))if y >= 1:print "money is too large."else:y = y * 100a = y // 25b = (y - a*25) // 10c = (y - a *25 - b * 10) // 5d = y - a*25 - b*10 - c*5s = a + b + c + dprint "%d" % (s)

方法二:(定义函数)

    def money(num):  num = num *100  a = num // 25  b = (num - a *25)//10  c = (num - a* 25 - b *10) //5  d = (num -a * 25 - b * 10 - c * 5)  return a+b+c+d  n = float(raw_input("input dollors:"))  print money(n)  

方法三:(这个比较麻烦,是网上某大侠写的,反正我觉得很烦,大家参考一下)

    dollar = float(raw_input("Input the money that less than 1 dollar:"))if dollar >= 1:print "money is too large."elif 0 < dollar < 1:temp = int(dollar * 100)(N25, temp) = divmod(temp, 25)print "%d 25 coins." %N25(N10, temp) = divmod(temp, 10)print "%d 10 coins." %N10(N5, temp) = divmod(temp, 5)print "%d 5 coins." %N5(N1, temp) = divmod(temp, 1)print "%d 1 coins." %N1else:print "You must input larger than 0."except ValueError, e:print "You must input a digits."

5-6 算术。写一个计算器程序。你的代码可以接受这样的表达式,两个操作数加一个操作符:N1操作符N2。其中N1和N2为整型或浮点型,操作符可以是+、 -、、/、%、*,分别表示加法、减法、乘法、整型除、取余和幂运算。计算这个表达式的结果,然后显示出来。

提示:可以使用字符串方法 split(),但不可以使用内建函数eval()。

方法一:(用函数的方法,比较简单)

    def test(a,s,b):  if s == '+':  return a+b  elif s == '-':  return a-b  elif s == '*':  return a*b  elif s == '/':  return a // b  elif s == '%':  return a%b  elif s == '**':  return a**b  else:  return 0  if __name__=='__main__':  ss = raw_input("input your expression:")  if len(ss) == 3:  print test(float(ss[0]),ss[1],float(ss[2]))  else:  print test(float(ss[0]),ss[1:3],float(ss[3])) 

方法二:(特别麻烦,建议不要看)

    print "Enter the expression"expression = raw_input('>')if len(expression.split('+')) == 2:try:splitExpression = expression.split('+')m = float(splitExpression[0])n = float(splitExpression[1])print m + nexcept ValueError, e:print "Input ValueError !"elif len(expression.split('-')) == 2:try:splitExpression = expression.split('+')m = float(splitExpression[0])n = float(splitExpression[1])print m - nexcept ValueError, e:print "Input ValueError !"elif len(expression.split('*')) == 2:try:splitExpression = expression.split('*')m = float(splitExpression[0])n = float(splitExpression[1])print m * nexcept ValueError, e:print "Input ValueError !"elif len(expression.split('/')) == 2:try:splitExpression = expression.split('/')m = float(splitExpression[0])n = float(splitExpression[1])print m / nexcept ValueError, e:print "Input ValueError !"elif len(expression.split('%')) == 2:try:splitExpression = expression.split('%')m = float(splitExpression[0])n = float(splitExpression[1])print m % nexcept ValueError, e:print "Input ValueError !"elif len(expression.split('**')) == 2:try:splitExpression = expression.split('**')m = float(splitExpression[0])n = float(splitExpression[1])print m ** nexcept ValueError, e:print "Input ValueError !"else:print "Input Error !"

5-8.几何。计算面积和体积。

(a)正方形和立方体
(b)圆和球

    import math  if __name__=='__main__':  ss = input("请输入正方形的长或者园半径:")  print '正方形面积:',ss*ss  print '立方体面积:',ss*ss*6  print '立方体体积:',ss*ss*ss  print '圆面积:',ss*ss*math.pi  print '球面积:',ss*ss*math.pi*4  print '球体积:',ss*ss*ss*math.pi*4/3.0 

5-9. 数值形式 回答下面关于数值格式的问题:

(a) 为什么下面的例子里 17+32 等于 49, 而 017+32 等于 47, 017+032 等于 41?

>>> 17 + 32
49
>>> 017+ 32
47
>>> 017 + 032
41

(b)为什么下面这个表达式我们得到的结果是 134L 而不是 1342 ?

>>56l + 78l
134L

答:

八进制和十进制,长整形和整形

5-10.转换。写一对函数来进行华氏度到摄氏度的转换。转换公式为C = (F - 32) * (5 / 9)应该在这个练习中使用真正的除法,否者你会得到不正确的结果.

    def change(f):  return (f-32)*(5.0/9.0)  if __name__=='__main__':  ss = input("请输入华氏温度:")  print change(ss)

5-11.取余。

(a)使用循环和算术运算,求出0~20之间的所有偶数。

(b)同上,不过这次输出所有的奇数。

(c)综合(a)和(b),请问辨别奇数和偶数的最简单的办法是什么?

(d)使用(c)的成果,写一个函数,检测一个整型能否被另一个整型整除。现要求用户输入两个数,然后你的函数判断两者是否有整除关系,根据判断结果分别返回True和False。

答:(a),(b)

 x = range(0,21)for i in x:if i % 2 == 0: #输出偶数print i for i in x:if i % 2 != 0:#输出奇数print i

(c)辨别偶数和奇数的方法是,该数能否被2整除。

(d)

    def num(num1,num2):  if (num1%num2==0) or (num2%num1==0):  return True  else:  return False  num1 = input("请输入第一个数:")  num2 = input("请输入第二个数:")  print num(num1,num2)  

5-13 转换。写一个函数把由小时和分钟表示的时间转换为只用分钟表示的时间。

    def test(h , m):  min= h * 60 + m  return min    while True:  h = input("请输入小时:")  m = input("请输入分钟:")  if (h < 23 and h > -1) and (m < 60 and m > -1):  print 'The time is %d minuters' % test (h,m)  else:  print 'input error'  

5–15.最大公约数和最小公倍数。请计算两个整数的最大公约数和最小公倍数。

    def gongyueshu(m , n):  if m< n:  min = m  else:  min = n  for i in range(min , 0 ,-1):  if m % i ==0 and n % i ==0:  return i  return 0  def gongbeishu(m , n):  l = gongyueshu(m,n)  return m * n / l  if __name__ == '__main__':  m = input("请输入第一个数:")  n = input("请输入第二个数:")  print '最大公约数:',gongyueshu(m, n)  print '最小公倍数:',gongbeishu(m, n) 

5-16 题目好烦,不想写了,大家自己去看,答案在此:

    def Payment(cost,total):  count = 0  print ' Amount Remaining'  print 'Pymt#   PaidBalance'  print '-----   ------   --------'  while True:  print '%-2d   $%.2f  $%6.2f'%(count,total,cost)  if cost - total >=0:  cost = cost-total  else:  if cost !=0:  print '%-2d   $%.2f   $%6.2f'%(count+1,cost,0)  break  count += 1  if __name__=='__main__':  cost = input('Enter opening balance:')  total = input('Enter monthly payment:')  Payment(cost,total) 

5-17 随机数。熟读随机数模块然后解下面的题:

生成一个有 N 个元素的由随机数 n 组成的列表, 其中 N 和 n 的取值范围分别为: (1 <
N <= 100), (0 <= n <= 231 -1)。然后再随机从这个列表中取 N (1 <= N <= 100)个随机数
出来, 对它们排序,然后显示这个子集。

    import random  if __name__=='__main__':  N = random.randint(1,100)  list = []  for i in range(N):  n = random.randint(0,2**31-1)  list.append(n)  list.sort()  print list  

python(第二版)第五章答案相关推荐

  1. 贝叶斯统计第二版第五章答案_贝叶斯统计第二部分

    贝叶斯统计第二版第五章答案 In this post, I will compare the output of frequentist and Bayesian statistics, and ex ...

  2. python语言程序设计基础第二版第六章答案-python语言程序设计基础(第二版)第五章答案随笔...

    模板模式与策略模式/template模式与strategy模式/行为型模式 模板模式 模版模式,又被称为模版方法模式,它可以将工作流程进行封装,并且对外提供了个性化的控制,但主流程外界不能修改,也就是 ...

  3. python语言程序设计基础第二版答案-python语言程序设计基础(第二版)第五章答案随笔...

    模板模式与策略模式/template模式与strategy模式/行为型模式 模板模式 模版模式,又被称为模版方法模式,它可以将工作流程进行封装,并且对外提供了个性化的控制,但主流程外界不能修改,也就是 ...

  4. c语言甘勇第二版第五章答案,C语言(1) - Patata的个人页面 - OSCHINA - 中文开源技术交流社区...

    一些基础 printf("%d%c\n%f", 23, 'A', 4.23); 23 A 4.23 ---------------------------------------- ...

  5. 数据结构(C语言)第二版 第五章课后答案

    数据结构(C语言)第二版 第五章课后答案 1~5 A D D C A 6~10 C C B D C 11~15 B C A C A 1.选择题 (1)把一棵树转换为二叉树后,这棵二叉树的形态是(A) ...

  6. 数据结构使用c语言第5版答案,数据结构(c语言版)第五章答案.doc

    数据结构(c语言版)第五章答案.doc 第五章1.设二维数组A[8][10]是一个按行优先顺序存储在内存中的数组,已知A[0][0]的起始存储位置为1000,每个数组元素占用4个存储单元,求(1)A[ ...

  7. python语言程序设计基础第二版第六章答案-Python语言程序设计基础(第2版) 课后题 第六章...

    课后题是配套的参考答案 #e10.1CalHamlet.py def getText(): txt = open("hamlet.txt", "r").read ...

  8. Python核心编程第二版第五章数字(课后习题)----我的答案

    5-1.整型.讲讲Python普通整型和长整型的区别. 标准整型类型是最通用最基本的数字类型等价于C语言的长整型,一般以十进制表示. 长整型则是标准整型类型的超集,当需要用到比标准整型类型更大的整型时 ...

  9. python嵩天第二版第五章_如何避免从入门到放弃——python小组学习复盘

    2019年春节python学习行动复盘2019-02-09 为了主攻python,没有参加心理学晨读.对心理学也不敢兴趣,怕耽误学习python的时间. 那么没学习心理学的情况下,python学的怎么 ...

最新文章

  1. win10专业版关闭smartscreen
  2. Qt Creator列表和其他数据模型
  3. git 如何删除本地创建的仓库(转载自 https://segmentfault.com/q/1010000002996177?_ea=262685)...
  4. 多个数字数组_七个问题帮助初学者深入理解Java数组
  5. 漫画:给女朋友介绍什么是 “元宇宙” ?
  6. 案例上手 Spring 全家桶
  7. unity游戏开发之游戏过审后 国行PS4将在3月20日发售
  8. WIN7常用使用设置
  9. doucument.referrer部分安卓机型一直为空问题
  10. 《用户至上:用户研究方法与实践(原书第2版)》一2.3 理解产品
  11. 解决本地新建项目推送到码云失败的问题
  12. C语言 计算斐波那契数列
  13. ES与Solr的区别
  14. HPUX——用户解锁
  15. 机器学习-无监督学习-聚类:聚类方法(二)--- 基于密度的聚类算法【DBSCAN文本聚类算法,密度最大值文本聚类算法】
  16. 智慧医院解决方案(智慧医疗)
  17. 设计模式的六大设计原则
  18. vivado17.4支持w25q128的方法
  19. 用Python操作MySQL数据库-详细指南
  20. 卡迪夫城市大学计算机专业硕士,2020年卡迪夫城市大学研究生(硕士)学制是几年...

热门文章

  1. 【MQ】如何确保RabbitMQ消息可靠性传递?
  2. 自身未来的计划及目标
  3. uniapp | 小程序自定义头部组件
  4. 遇到移动号码手机停机怎么办?如何自助解决上网问题?
  5. 吴佳明(普空):LVS在大规模网络环境中的应用
  6. 高级操作系统选择判断总结
  7. Scanf的陷阱,遇到空格怎么办
  8. 洗衣机漏水怎么维修?洗衣机漏水怎么处理
  9. 9月份新一期的20本新书,都是近期最热门的书籍!
  10. 你真的明白斯卡布罗集市歌词的真正含义吗