#!/bin/python
#_*_coding:UTF-8_*_
# Filename : money.py
class Money:
def __init__(self,value,moneytype,doub):
self.value = value
self.moneytype = moneytype
self.double = doub
def out(self):
if(self.moneytype == 'RMB'):
y = int(self.value)
j = int((self.value - y)*10)
f = int(self.value*100)%10
print '它的价值是',y,'元',j,'角',f,'分'
else:
my = int(self.value)
mf = int(self.value*100)%100
print '它的价值是',my,'美元',mf,'美分'
def __add__(self,b):
if(self.moneytype == '$' and b.moneytype == '$'):
# print '他们两人钱的和是',
return self.value+b.value
# ,'$','或者是',(self.value+b.value)/6,'RMB'
elif (self.moneytype == '$'and b.moneytype == 'RMB'):
return self.value+b.value/6.0
elif (self.moneytype == 'RMB' and b.moneytype == '$'):
return self.value/6.0+b.value
else :
return (self.value+b.value)/6.0
def __sub__(self,b):
if (self.moneytype == '$' and b.moneytype == '$'):
return abs(self.value-b.value)
elif (self.moneytype == '$'and b.moneytype == 'RMB'):
return abs(self.value-b.value/6.0)
elif (self.moneytype == 'RMB' and b.moneytype == '$'):
return abs(self.value/6.0-b.value)
else :
return abs((self.value-b.value)/6.0)
def __div__(self,b):#重载运算符
if (self.moneytype == '$' and b.moneytype == '$'):
return self.value*b.value
elif (self.moneytype == '$'and b.moneytype == 'RMB'):
return self.value*(b.value/6.0)
elif (self.moneytype == 'RMB' and b.moneytype == '$'):
return (self.value/6.0)*b.value
else :
return (self.value*b.value)/6.0
def display(self,value,moneytype,doub):
self.value = value
self.moneytype = moneytype
self.double = doub
if(self.moneytype=='$'):
xm1 = '美元为:'
xmv1 = self.value
xm2 = '人民币为:'
xmv2 = self.value*6
xm3 = '输入的钱的精度为:'
xmd = self.double
else:
xm1 = '美元为:'
xmv1 = self.value/6
xm2 = '人民为:'
xmv2 = self.value
xm3 = '输入的钱的精度为:'
xmd = self.double
#定义一个字典
xm ={
xm1:xmv1,
xm2:xmv2,
xm3:xmd
}
#item.sort(cmp = lambda x,y:cmp(scores[x[0]-1],scores[y[0]-1]))
#把字典内的东西输出
for name ,val in xm.items():
print '%s %lf' %(name,val)
def __del__(self):
pass
print '请输入两个同学的钱,$代表输入的是美元,RMB代表输入的是人民币'
m1 = float(raw_input('输入小明的钱:'))
moneytype1 = raw_input()
#num1.moneytype=type1
m2 = float(raw_input('输入小红的钱:'))
moneytype2 = raw_input()
#num2.moneytype=type2
num1 = Money(m1,moneytype1,0.01)
num2 = Money(m2,moneytype2,0.01)
#print num1.moneytype
#print num2.moneytype
print '小明输入的钱是:'
num1.out()
print '小红输入的钱是'
num2.out()
print '小明的钱,总的显示:'
num1.display(m1,moneytype1,0.01)
print '小红的钱,总的显示:'
num2.display(m2,moneytype2,0.01)
print '他们两人钱的和是:',num1+num2,'$','或者是',(num1+num2)*6,'RMB'
print '他们两人钱的差是:',num1-num2
print '他们两人钱的积是:',num1/num2
转载于:https://www.cnblogs.com/zpsyeliubing/archive/2011/12/13/2285947.html