python—汇率兑换
目录
- 汇率兑换2.0
- 汇率兑换3.0
- 汇率兑换4.0
- 汇率兑换5.0
- 汇率兑换知识点总结
2.0 实现功能
- 将美元兑换为人名币或者将人名币兑换成美元
- 2.0 新增:输入是人名币或者美元,进行相应的转换计算 python脚本中涉及的知识点
知识点1:字符串的索引、切片
- 字符串
- 字符串可以用单引号或者双引号表示,像这样 'Hello word!’ 或者这样 “Hello word!” 。
- 字符串索引 假设字符串是“PYTHON”
- 正向索引、反向索引
- 区间索引:[A:B] 字符串从A开始到B,不包括B
像这样:[:] 结果显示为全部字符串PYTHON
又像这样:[: 1] 结果显示为P
或者又像这样:[1: 5] 结果显示为YTHO
知识点2:if/elif/else 的使用
- if / elif /else使用方法
- if <条件1>:
<语句块1> 符合条件1,运行语句块1
elif<条件2>:
<语句块2> 符合条件2,运行语句块2
…
else:
<语句块N> 以上条件都不符合,运行语句块N
代码区: 没有定义函数,没有用到方法
"""
作者:
功能:将美元兑换为人名币或者将人名币兑换成美元
版本:2.0
日期:2019-9-4
新增:输入是人名币或者美元,进行相应的转换计算
"""
def main():
"""
主函数
"""
# 定义汇率
exchange_rate = 7.67
# 接受输入金额
input_value = input("请输入你要兑换的金额(CNY/USD):")
# 判断输入是美元还是人名币
# 如果输入是美元
if input_value[-3:] == "USD": # [-3:] 是为了得到输入的单位用来判断是人名币还是美元
get_exhange_value = int(input_value[:-3]) * exchange_rate
print("在汇率为{}下,您输入的美元的对应的人名币为{} CNY。".format(exchange_rate, get_exhange_value))
# 如果输入是人名币
elif input_value[-3:] == "CNY":
get_exhange_value = int(input_value[:-3]) / exchange_rate
print("在汇率为{}下,您输入的人名币对应的美元为{} USD。".format(exchange_rate, get_exhange_value))
# 其他情况
else:
print("暂不支持您输入的货币")
if __name__ == "__main__":
main()
3.0 实现功能
- 将美元兑换为人名币或者将人名币兑换成美元
- 3.0新增:程序可以一直运行,直到用户选择退出
知识点:循环语句while
循环语句
- 控制程序的语句
- 根据条件判断是否执行while下缩进的代码或者代码块
- 使用方法
while (条件):
<语句块> - 当上述(条件)满足时,即条件为真(True),则运行<语句块>
- 当上述(条件)不满足时,条件为假(False),跳出循环,不运行<语句块>,继续往下运行
代码区:
"""
作者:Troublemaker
功能:将美元兑换为人名币或者将人名币兑换成美元
版本:3.0
日期:2019/9/5 19:26
新增:程序可以一直运行,直到用户选择退出
"""
def main():
"""
主函数
"""
# 定义汇率
exchange_rate = 7.67
# 活动标志
label = True
# 接受输入金额
input_value = input("请输入带单位的货币金额(USD/CNY):")
while label:
# 判断输入是美元还是人名币(使用if.....else)
# 如果输入是美元
if input_value[-3:] == "USD":
get_exchange_value = int(input_value[:-3]) * exchange_rate
print("在汇率为{}下,您输入的美元的对应的人名币为{} CNY。".format(exchange_rate, get_exchange_value))
# 如果输入是人名币
elif input_value[-3:] == "CNY":
get_exchange_value = int(input_value[:-3]) / exchange_rate
print("在汇率为{}下,您输入的人名币的对应的美元为{} CNY。".format(exchange_rate, get_exchange_value))
# 其他情况
else:
print("暂不支持您输入的货币")
# 避免死循环,如果不加这段会进入死循环
input_value = input("请输入带单位的货币金额(USD/CNY),输入'Q'退出:")
if input_value == "Q":
label = False
if __name__ == "__main__":
main()
4.0 实现功能
- 将美元兑换为人名币或者将人名币兑换成美元
- 4.0新增:将汇率兑换封装到函数中
知识点:函数
函数的概念:
- 将要实现特定功能的代码编写在一个函数里
- 便于阅读和复用
- 对一组表达特定功能表达式的封装
- 使程序结构化、模块化
函数的定义
- def <函数名>(<参数列表>): # 准确说这里的是参数指的是形参
<函数体>
return <返回值列表>
- 函数的调用过程
- 调用程序在调用函数处暂停执行
- 调用时将参数(实参)赋值给函数的参数(形参)
- 执行函数体
- 返回函数结果,回到调用处继续执行
代码区:
"""
作者:Troublemaker
功能:将美元兑换为人名币或者将人名币兑换成美元
版本:4.0
日期:2019/9/7 21:19
脚本:exchange_rate4.0.py.py
新增:将汇率兑换封装到函数中
"""
def money_exchange(input_value, exchange_rate): # 函数体里的input_value和exchange_rate 是形参
# 函数体中的形参不用和主函数传进来的起一样的变量名
# 函数体中可以起任意的变量名,只要函数体中的变量名也相应的变化即可
"""
功能:汇率兑换
"""
# 如果输入是美元
if input_value[-3:] == "USD":
get_exchange_value = int(input_value[:-3]) * exchange_rate
print("在汇率为{}下,您输入的美元的对应的人名币为{} CNY。".format(exchange_rate, get_exchange_value))
# 如果输入是人名币
elif input_value[-3:] == "CNY":
get_exchange_value = int(input_value[:-3]) / exchange_rate
print("在汇率为{}下,您输入的人名币的对应的美元为{} CNY。".format(exchange_rate, get_exchange_value))
# 其他情况
else:
print("暂不支持您输入的货币")
def main():
"""
主函数
"""
# 定义汇率
exchange_rate = 7.67
# 活动标志
label = True
# 接受输入金额
input_value = input("请输入带单位的货币金额(USD/CNY):")
while label:
# 判断输入是美元还是人名币(使用if.....else)
money_exchange(input_value, exchange_rate) # 此处的input_value和exchange_rate 是实参
# 避免死循环,如果不加这段会进入死循环
input_value = input("请输入带单位的货币金额(USD/CNY),输入'Q'退出:")
if input_value == "Q":
label = False
if __name__ == "__main__":
main()
5.0 实现功能
- 将美元兑换为人名币或者将人名币兑换成美元
- 5.0新增:将简单函数改造成lambda函数
知识点:lambda函数使用
- lambda为特殊函数—匿名函数
- 使用方法:
- <函数名> = lambda <参数列表> : <表达式>
- 用于简单的、能够在一行内表示的函数,计算结果为返回值
代码区:
"""
作者:Troublemaker
功能:将美元兑换为人名币或者将人名币兑换成美元
版本:5.0
日期:2019/9/7 21:53
脚本:exchange_rate5.0.py
新增:简单函数的定义 lambda
"""
def main():
"""
主函数
"""
# 定义汇率
exchange_rate = 7.67
# 接受输入金额
input_value = input("请输入带单位的货币金额(USD/CNY):")
# 根据单位判断货币
unit = input_value[-3:] # 用[-3:] 拿到输入金额的单位
# 根据单位转换转换率
if unit == 'USD':
exchange_rate = exchange_rate
elif unit == 'CNY':
exchange_rate = 1 / exchange_rate
else:
exchange_rate = -1
# 根据转换率得到金额
if exchange_rate != -1:
value = float(input_value[:-3])
# 定义lambda函数,get_value 为函数名 格式:<函数名>=lambda<参数列表>:<表达式>
get_value = lambda x: x * exchange_rate # X为参数(形参)、
# 调用函数
exchange_value = get_value(value) # 这里的value对应的是x的实参
print("转换后的金额为:{}。".format(exchange_value))
else:
print('暂不支持该种货币!')
if __name__ == "__main__":
main()
汇率兑换知识点总结
汇率兑换1.0 | 知识点 |
汇率兑换1.0 | 缩进、变量命名、关键字、字符串、input()、output() |
汇率兑换2.0 | 分支语句 if、else |
汇率兑换3.0 | 循环语句while |
汇率兑换4.0 | 函数的定义与调用 |
汇率兑换5.0 | 匿名函数lambda(用的少这个知识点容易遗忘) |