您的位置:首页 > 编程语言 > Python开发

《python核心编程第二版》第五章练习解析

2015-04-25 10:05 218 查看
1.

普通整形即标准整形是最通用的数字类型。它的取值范围是-2**31 ~~ 2**31-1,也就是-2 147 483 648 ~~ 2 147 483 647。python的长整形与C或其他编译型语言完全不同,它所表示的范围仅与机器所能支持的内存大小有关,也就是说python能轻松表示很大的整形。

2.

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


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

if __name__=='__main__':
a = input()
b = input()
print mul(a, b)


3.

def socre(num):
if num>=90 and num <=100:
return 'A'
elif num >=80:
return 'B'
elif num >=70:
return 'C'
elif num >= 60:
return 'D'
else:
return 'F'

if __name__=='__main__':
n = input()
print socre(n)
4.

<pre name="code" class="python"># -*- coding: utf-8 -*-
def year(num):
if (num % 4==0 and num % 100 !=0) or (num % 400 ==0):
return '这是闰年'
else:
return '这不是闰年'

if __name__=='__main__':
n = input()
print year(n)



5.
# -*- coding: utf-8 -*-
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

if __name__=='__main__':
n = input()
print money(n)


6.

# -*- coding: utf-8 -*-
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()
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]))


8.

# -*- coding: utf-8 -*-
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


9.

八进制和十进制

长整形和整形

10.

# -*- coding: utf-8 -*-

def change(f):
return (f-32)*(5.0/9.0)
if __name__=='__main__':
ss = input()
print change(ss)


11.

a,b

# -*- coding: utf-8 -*-

def num():
num1=[]  #偶数
num2=[]  #奇数
for i in range(20):
if i %2 == 0:
num1.append(i)
else:
num2.append(i)
print '偶数:'
for i in num1:
print i
print '\n奇数:'
for i in num2:
print i

if __name__=='__main__':
num()


d.

# -*- coding: utf-8 -*-

def num(num1,num2):
if (num1%num2==0) or (num2%num1==0):
return True
else:
return False

if __name__=='__main__':
num1 = input()
num2 = input()
print num(num1,num2)


13.

# -*- coding: utf-8 -*-

def test(h , m):
min= h * 60 + m
return min

if __name__ == '__main__':
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'


15

# -*- coding: utf-8 -*-

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)


16.

# -*- coding: utf-8 -*-

def Payment(cost,total):
count = 0
print '             Amount Remaining'
print 'Pymt#   Paid        Balance'
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)
17.

# -*- coding: utf-8 -*-
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: