python—汇率兑换

目录

  1. 汇率兑换2.0
  2. 汇率兑换3.0
  3. 汇率兑换4.0
  4. 汇率兑换5.0
  5. 汇率兑换知识点总结

2.0 实现功能

  • 将美元兑换为人名币或者将人名币兑换成美元
  • 2.0 新增:输入是人名币或者美元,进行相应的转换计算 python脚本中涉及的知识点

知识点1:字符串的索引、切片

  • 字符串
  • 字符串可以用单引号或者双引号表示,像这样 'Hello word!’ 或者这样 “Hello word!” 。
  • 字符串索引 假设字符串是“PYTHON

Python转移字符 案例 python转换字符串_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(用的少这个知识点容易遗忘)