python第五章课后编程题_【python核⼼编程]】第五章练习题第五章 数字
5-2.
操作符,写⼀个函数,计算并返回两个数的乘积“整理的时候才看到我把题⽬看成两个数的和了”
1 #!/usr/bin/env python
2
3 defcount():
4 asum =0
5 for i in range(2):
6 asum += int(raw_input('请输⼊两个数:'))
7 returnasum
8 s =count()
9 print'这两个数的和为:',s
5-3.
标准类型操作符。写⼀段脚本,输⼊⼀个测验成绩,根据下⾯的标准,输出他的评分成绩(A-F)
A:90~100
B:80~89
C:70~79
D:60~69
F:<60
1 #!/usr/bin/env python
2 defgrade():
3 whileTrue:
4 score = float(raw_input('请输⼊测试成绩:'))
5 if 0 <= score < 101:
6 if 89 < score < 101:
7 return 'A'
8 elif 79 < score < 90:9 return 'B'
10 elif 69 < score < 80:11 return 'C'
12 elif 59 < score < 70:13 return 'D'
14 else:15 return 'F'
16 break
17 else:18 print '输⼊的测试成绩不符合要求,请重新输⼊'
19 continue
20 s =grade()21 print '评分成绩为:',s
5-4.
取余。判断给定年份是否是闰年。使⽤下⾯的公式。
⼀个闰年后就是指他可以被4整除,但不能被100整除,或者它可以被400整除。
1 #!/usr/bin/env python
2 #coding=utf-8
3 defyear():
4 years = int(raw_input('请输⼊年份:'))
5 if years%4 == 0 and years%100!=0:
6 return '闰年'
7 if years%400 ==0 :8 return '闰年'
9 else:10 return '平年'
11 s =year()12 print '今年是:',s
5-5.
取余。取⼀个任意⼩于 1 美元的⾦额,然后计算可以换成最少多少枚硬币。硬币有 1美分,5 美分,10 美分,25 美分四种。1 美元等于100 美分。
举例来说,0.76 美元换算结果应该是 3 枚 25 美分,1 枚 1 美分。类似 76 枚 1 美分,2 枚 25 美分+2 枚 10 美分+1 枚 5 美分+1枚1 美分这样的结果都是不符合要求的。
1 #!/usr/bin/env python
2 #coding=utf-8
3 defcoins():
4 whileTrue:
5 coin = float(raw_input('请输⼊⼀个⼩于1美元的⾦额"退出请输⼊0":'))
6 if coin ==0:
7 break
8 elif coin <0 or coin > 1:9 print'输⼊的⾦额不符合要求,请重新输⼊'
10 continue
11 else:12 a = coin * 100
13 a25 = a // 25
14 a10 = a%25//10
15 a5 = a%25%10//5
16 a1 = a%25%10%5
17 returncoin,a25,a10,a5,a118 s =coins()19 print '%.2f可以换算成%d 25,%d 10,%d 5,%d 1,' %(s[0],s[1],s[2],s[3],s[4])
5-6.
算术。写⼀个计算机程序,其可以接收⼀个表达式,两个操作数加⼀个操作符,如N1操作符N2,其中N1和N2为整形或浮点形,操作符可以是 +, - , *, /, %, ** ,计算结果并显⽰出来。
1 #!/usr/bin/env python
2
3 defcalcu():
4 express = raw_input('请输⼊需要计算的表达式,例如2+3:')
5 symbols = ['+','-','*','/','%','**']
6 for s insymbols:
7 if s inexpress:
8 sym =s
9 a =express.split(sym)10 n1 =float(a[0])11 n2 = float(a[1])12 if sym ==symbols[0]:13 print '%s=%f' % (express,n1+n2)14 elif sym == symbols[1]:15 print '%s=%f' %(express,n1-n2)16 elif sym == symbols[
2]:17 print '%s=%f' %(express,n1*n2)18 elif sym == symbols[3]:19 print '%s=%f' %(express,n1/n2)20 elif sym == symbols[4]:21 print '%s=%f' %(express,n1%n2)22 elif sym == symbols[5]:23 print '%s=%f' %(express,n1**n2)
5-8.
⼏何,计算⾯积和体积。
(a)正⽅形和圆的⾯积
(b) ⽴⽅体和球的体积
1 #!/usr/bin/env python
2 #coding=utf-8
3 importmath
4 defarea():
5 whileTrue:
6 shape = int(raw_input('需要计算的⼏何图形是,正⽅形为1,圆形为2,请选择:'))
7 if
shape==1 or shape ==2:8 break
9 else:10 print'你输⼊的图形选项有误,请重新选择'
11 continue
12 if shape == 1:13 size = raw_input('请输⼊正⽅形的边长:')14 print'正⽅形的⾯积是:%f' %(float(size)**2)15 else:16 radius = raw_input('请输⼊圆形的半径:')17 print'圆形的⾯积是:%f' %(float(radius)**2*math.pi)18 defvolume():19 whileTrue:20 shape = int(raw_input('需要计算的⼏何图形是,⽴⽅体为1,球形为2,请选择:'))21 if shape==1 or shape ==2:22 break
23 else:24 print'你输⼊的图形选项有误,请重新选择'
25 continue
26 if shape == 1:27 size = raw_input('请输⼊⽴⽅体的边长:')28 print'⽴⽅体的体积是:%f' %(float(si
ze)**3)29 else:30 radius = raw_input('请输⼊球形的半径:')31 print'球形的体积是:%f' %(float(radius)**3*math.pi*3.0/4)
5-11.
取余。
(a)使⽤循环和算术运算,求出0~20之间的所有偶数。
(b)同上,不过这次输出所有的奇数。
(c)综合(a)和(b),请问辨别奇数和偶数的最简单的办法是什么?
(d)使⽤(c)的成果,写⼀个函数,检测⼀个整型能否被另⼀个整型整除。现要求⽤户输⼊两个数,然后你的函数判断两者是否有整除关系,根据判断结果分别返回True和False。
1 #!/usr/bin/env python
2 #coding=utf-8
3 defeven():
4 a =[]
5 for i in range(20):
6 if i%2 !=0 :
7 a.append(str(i))
8 returna9
10 defdivision():11 number = raw_input('请输⼊两个整数,以逗号隔开:')12 anumber = number.split(',')13 a
=int(anumber[0])14 b = int(anumber[1])15 if a%b ==0 :16 returnTrue17 else:18 returnFalse19
20 s =division()21 print s
5-12.
系统限制。写⼀段脚本确认⼀下你的Python所能处理的整型、长整型、浮点型和复数的范围。
1 #!/usr/bin/env python
2 importsys
3 print(sys.maxint)
4 print (-sys.maxint-1)
5 print(sys.float_info)
6 print (sys.long_info)
5-13.
转换。写⼀个函数把⼩时和分钟所表⽰的时间转换成为只⽤分钟表⽰的时间。
1 #!/usr/bin/env python
2
3 deftimeshift():
4 time = raw_input('请输⼊⼀个时间,形式为HH:MM:')
5 a = time.split(':')
6 minutes = int(a[0]) * 60 +int(a[1])
7 returntime,minutes
8 s =timeshift()
9 print '"%s"Hours="%s"Minutes' %(s[0],s[1])
5-15.
python新手代码练习最⼤公约数和最⼩公倍数。请计算两个整型的最⼤公约数和最⼩公倍数。
代码见另⼀篇记录“最⼤公约数和最⼩公倍数”
5-16.
家庭财务。给定⼀个初始⾦额和⽉开销数,使⽤循环,确定剩下的⾦额和当⽉的⽀出数,包括最后的⽀出数。Payment()函数会⽤到初始⾦额和⽉额度,输出结果应该类似下⾯的格式(例⼦中的数字仅⽤于演⽰)。
1 #!/usr/bin/env python
2
3 balance = float(raw_input('Enter opening balance:'))
4 payment = float(raw_input('Enter monthly payment:'))
5 print 'Amount Remaining'
6 print 'Pymt# Paid Balance'
7 print '---- ---- -------'
8 pymt =09 paid = 0.00
10 while balance >payment :11 balance = balance -payment12 print '%4d%10.2f%10.2f' %(pymt,payment,balance)13 pymt += 1
14 else:15 print '%4d%10.2f%10.2f' %(pymt,balance,0)
5-17.
*随机数。熟读随机数模块然后解下⾯的题。⽣成⼀个有N个元素的由随机数n组成的列表,其中N和n的取值范围分别为(1 < N <= 100)和(0 <= n <= 2**31 - 1)。然后再随机从这个列表中取N(1 <= N <= 100)个随机数出来,对他们排序,然后显⽰这个⼦集。
1 #!/usr/bin/env python
2 importrandom
3 a = random.randint(0,20)
4 printa
5 b =[]
6 for i inrange(a):
7 n = random.randint(-1,2**32)
8 b.append(n)9
b.sort()10 print b

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