可以参考代码:
def test(n):
if n[-1]=="R":
return str(int(n[0:-1])/6.5)+"D"
elif n[-1]=="D":
return str(int(n[0:-1])*6.5)+"R"
或是可以使用input获取键盘输入的字符,而不是作为方法的传入参数n
# 设置人民币与美元的汇率exchange_rate = 6.74
# 输入函数
money_str = input("您好,请您输入含有rmb(人民币),usa(美元)的字母的金额:")
print("您输入的金额为:", money_str)
# 截取的输入单位
unit = money_str[-3:]
print("您截取的单位为:", unit)
if unit == "rmb":
# 截取输入函数的数值
rmb_str_value = money_str[:-3]
# 字符型数据转化为浮点型数据
rmb_float = float(rmb_str_value)
# 计算两者的汇率
usa = rmb_float / exchange_rate
# 输出函数
print("经过换算后的美元金额为:", usa)
elif unit == "usa":
# 截取输入函数的数值
usa_str_value = money_str[:-3]
# 字符型数据转化为浮点型数据
usa_float = float(usa_str_value)
# 计算两者的汇率
rmb = usa_float * exchange_rate
# 输出函数
print("经过换算后的人民币金额为:", rmb)
else:
print("您输入的格式有错误,请关闭之后重新输入!
据观察 小数点后只需保留两位有效数字另:程序较简单,忽略了精度问题
def cal(money):
try:
money=float(money)
if money<0:raise ValueError
AUD=0.96*money
USD=0.75*money
Euro=0.67*money
DBP=0.496*money
except Exception,e:
print "ERROR!Please input valid money, we support positive numbers in String or Float or Integer"
else:
print "NZ$ %0.2f AUD %0.2f USD %0.2f EURO %0.2f GBP %0.2f"%(money,AUD,USD,Euro,DBP)
测试程序:
cal("99999")
输出: NZ$ 9999.00 AUD 9599.04 USD 7499.25 EURO 6699.33 GBP 4959.50
cal(99999)
输出: NZ$ 9999.00 AUD 9599.04 USD 7499.25 EURO 6699.33 GBP 4959.50
cal(99999.9999)
输出:NZ$ 10000.00 AUD 9600.00 USD 7500.00 EURO 6700.00 GBP 4960.00
cal(-10.99)
输出:ERROR!Please input valid money, we support positive numbers in String or Float or Integer
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)