python(第二版)第五章答案

您所在的位置:网站首页 python第二版课后答案第六章 python(第二版)第五章答案

python(第二版)第五章答案

2024-07-03 22:12| 来源: 网络整理| 查看: 265

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: 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 >> 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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3