Python汇率兑换(EVAL && FORMAT)
一、任务描述
人民币与美元被视为全球两种主要流通货币之一。基于温度转换程序的设计理念,在汇率为1美元等于7人民币的基础上开发一个双向兑换系统。
将用户输入的美元转换为人民币,或将输入的人民币转换为美元。
要求如下:
输入输出的人民币均以大写形式开头为RMB,并且金额可能为整数值或带有小数点的小数值;例如:RMB123代表人民币123元。
输入输出中的美元必须以大写字母开头的 USD 标识符表示,并且金额支持整型和浮点型数值。例如,在输入中使用\text{USD} 20.0则代表...;在输出中使用\text{USD} 15则代表...
(3) 设置输出的小数值位数为两位的具体方法如下:print("%.2f" % a)。当输入数据格式不符合要求时, 程序将返回提示信息: 输入数据格式不符合要求.
(4) 使用 input() 获得输入时,不要增加提示字符串。
实现思路
通过条件判断语句检查输入字符串的前三个字符是否为'RMB'或'USD';若字符串起始为'RMB'则将其数值部分除以7换算成美元;否则如果起始字符非'RMB'或'USD'则返回错误提示信息;若起始字符是'USD'则将其数值部分乘以7转换成人民币
二、代码展示
money = input("请输入金额,以USD或RMB开头:\n")
if money [0:3] == "RMB":
usd = eval(money[3:])/ 7.00
print("USD{:.2f}".format(usd))
elif money [0:3] == "USD":
rmb = eval(money [3:])
print ("RMB{:.2f}".format (rmb))
else:
print("输入格式错误")
EVAL:
(eval)是一个内置函数,用于将字符串作为 Python 表达式执行并返回结果。例如:
expression = "3 + 5"
result = eval(expression) # 结果为 8在代码中,
eval被用来将用户输入的金额部分(去掉货币符号后的字符串)转换为数值类型(如整数或浮点数)。例如:
money = "RMB100"
amount = eval(money[3:]) # 将 "100" 转换为数值 100
FORMAT
1.详解
format是一个强大的字符串格式化方法,允许您在字符串中嵌入变量,并控制其显示格。它提供了多种方式来格式化输出,使代码更具可读性和灵活性。在代码中,
format用于将计算后的金额格式化为带有两位小数的字符串,并添加相应的货币符号。例如:print("USD{:.2f}".format(usd)) # 输出例如 "USD14.29"
2.其他格式化选项
format方法支持多种格式说明符,可以根据需要进行调整。例如:- 千位分隔符:
number = 1234567.89
print("{:,}".format(number)) # 输出: 1,234,567.89- 百分比格式:
percentage = 0.1234
print("{:.2%}".format(percentage)) # 输出: 12.34%- 对齐和填充:
print("{:>10}".format("Hello")) # 右对齐,总宽度为10
输出: Hello
