用python写的一个money类

本文介绍了一个Python脚本,用于处理不同货币单位之间的转换与计算,包括加法、减法、除法操作,以及货币总金额的展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值