zoukankan      html  css  js  c++  java
  • Python入门基础学习记录(二)汇率案例学习记录

    一、汇总整理

    1.操作

    ①新建python文件 工程右键--new--python file

    2.注意问题与知识点

     》变量定义:直接写变量名即可,例如定义一个字符串并赋值123: rmb_str = ‘123’。特别需要注意的,python对格式的要求,等号左右要有空格

     》代码缩进:python中没有类似C#、java等以花括号或其它开始结束定界符来区分代码块,缩进是标识语句块的唯一方法,一个语句块中的所语句必须使用相同的缩进,表示一个连续的逻辑行序列。注意:原文件的第一行不需要缩进,不可以用空格开头

     》代码注释:加入说明信息使用,不会被执行。》单行注释 “#”+注释内容    》多行注释  ”“”  + 多行的说明 + “”“ 。注意:注释符要和注释的内容对齐,否则会出现错误(unexpected indent:非法缩进)

    》常量和变量:python包含数字、字符串、布尔、空值,没有命名常量,常量的定义以所有字母大写标识

    》命名规则:大小写字母、数字、下划线组成,且不能以数字开头;大小写敏感,区分大小写;不能使用保留关键字,查看方式:控制台1.import keyword  2.print(keyword.kwlist)

    》索引:分为正向索引和反向索引。正向索引:以0开始从左到右递增;反向索引:以-1开始从右到左递减

       例如,字符串  n = 'hello world',n[0] = h    n[-1] = d   n[-2]

    》区间索引[A:B]:从A到B的部分字符串(适用于数组),注意的是①包含位置A但不包含位置B;②开始位置或结束位置为0的时候0可以省略不写

       以上面的字符串为例: n[0:2] = he    n[:2] = he       n[-3:-1] = rl    n[-3:0] = rld   n[-3:] = rld

    》步长索引:在区间上按步长取值,也即跳过“步长-1“取值。以上面字符串为例:n[0:3:1] = hel     n[0:3:2] = hl

    》分支语句:if 条件1:  语句块1  elif 条件2: 语句块2  else: 语句块3

    》pass语句:空语句,不做任何事情,占位语句。当语句块没有任何逻辑处理的时候,使用该语句占位

    》while语句:循环语句,while 条件:   语句块

    》函数:对一组表达特定功能表达式的封装,便于阅读和复用,使程序模块化,就像python的内置函数 print()等

      函数定义:def <函数名> (<参数列表>) 

                              <函数体>   

                              return <返回值列表>

      简单函数定义(lambda):特殊函数也可以称作匿名函数,格式:<函数名> = lambda <参数列表>:<表达式>,用于简单的能在一行内表示的函数

    》__name__ 存储的是”__main__“,当引入模块的时候,模块中的__name__就变成了模块的名称,所以使用__name__ == '__main__' 就是为了模块的调试,当模块被引入的时候调试部分的代码不会被执行

    3.函数说明

    函数名称 说明 示例 
     input  输入,用于获取控制台的输入内容,为文本数据

     例如获取用户输入货币金额:rmb_str = input('请输入人民币金额:')

     print  输出/打印,用来将信息打印到控制台

     例如输出用户输入的金额: print('用户输入的金额是:', rmb_str)

     格式化输出:print('字符串1等于%s,字符串2等于%s' % (a,b)),还有%d、%等格式

     eval 计算,执行一个字符串表达式,返回表达式结果

     例如将用户输入的金额文本转换为数值:rmb_val = eval(rmb_str)

     例如将变量n=1加2:eval('n + 2')

    4.关于运算符

     https://www.runoob.com/python/python-operators.html

      

    二、案例部分代码

    1.获取用户的输入,将输入的文本转换为数值,并输出用户的输入值

    1 rmb_str = input('请输入人民币金额:')
    2 rmb_val = eval(rmb_str)
    3 print('用户输入的金额是:', rmb_val)
    View Code

    2.获取用户输入人民币,通过定义的汇率计算并输出美元金额

     1 # 定义常量汇率
     2 USD_VS_RMB = 6.77
     3 
     4 # 获取用户输入人民币
     5 rmb_str = input('请输入人民币金额:')
     6 rmb_val = eval(rmb_str)
     7 
     8 # 计算美元金额
     9 usd_val = rmb_val / USD_VS_RMB
    10 
    11 # 输出美元金额
    12 print('用户输入的金额是:', usd_val)
    View Code

    3.①获取用户输入的带符号的货币,②拆分出金额部分和货币符号,③根据货币符号计算出人民币金额或美元金额(区间索引、条件分支)④循环执行(while) 

     1 # 定义常量汇率
     2 USD_VS_RMB = 6.77
     3 
     4 # ①获取用户输入带符号货币文本
     5 input_val_str = input('请输入带符号货币金额(退出输入Q):')
     6 
     7 # ④while 判断,如果输入Q退出while循环
     8 while input_val_str.upper() != 'Q':
     9 
    10     # ②提取输入文本的货币符号
    11     unit_str = input_val_str[-3:]
    12     print('货币符号:', unit_str)
    13 
    14     # ②提取货币金额部分
    15     currency_val_str = input_val_str[0:-3]
    16     currency_val = eval(currency_val_str)
    17     print('金额部分:', currency_val_str)
    18 
    19     # ③判断金额符号计算相应货币金额
    20     if unit_str.upper() == 'CNY':
    21         # 输入的是人民币,计算美元
    22         usd_val = currency_val / USD_VS_RMB
    23         print('输入的人民币金额 %a,对应美元金额是%s' % (currency_val, usd_val))
    24     elif unit_str.upper() == 'USD':
    25         # 输入的是美元,计算人民币
    26         rmb_val = currency_val * USD_VS_RMB
    27         print('输入的美元金额 %a,对应人民币金额是%s' % (currency_val, rmb_val))
    28     else:
    29         print('不支持的货币')
    30     input_val_str = input('请输入带符号货币金额(退出输入Q):')
    31 
    32 print('程序已退出')
    View Code

    4.①将代码拆分为两个函数,一个计算转换后的金额(税率*金额),一个是执行函数(接收输入,根据货币类型计算税率,调用转换函数)  ②使用lambda定义简单函数(同样实现计算转换后的金额)

     1 def eval_currency(currency, rate):
     2     """
     3     汇率兑换函数
     4     :param currency:货币金额
     5     :param rate:汇率
     6     :return:兑换后金额
     7     """
     8     return currency * rate
     9 
    10 
    11 def main():
    12     """
    13     主函数
    14     :return:
    15     """
    16     # 定义常量汇率
    17     USD_VS_RMB = 6.77
    18 
    19     # 使用lambda定义简单函数
    20     eval_currency2 = lambda x: x * exchange_rate
    21 
    22     input_val_str = input('请输入带符号货币金额:')
    23 
    24     # 提取输入文本的货币符号
    25     unit_str = input_val_str[-3:]
    26     # 提取货币金额部分
    27     currency_val_str = input_val_str[0:-3]
    28     currency_val = eval(currency_val_str)
    29 
    30     # 判断金额符号计算汇率
    31     if unit_str.upper() == 'CNY':
    32         exchange_rate = 1 / USD_VS_RMB
    33     elif unit_str.upper() == 'USD':
    34         exchange_rate = USD_VS_RMB
    35     else:
    36         exchange_rate = -1
    37 
    38     if exchange_rate != -1:
    39         print('转换后的金额:', eval_currency(currency_val, exchange_rate))
    40         print('lambda函数转换后的金额:', eval_currency2(currency_val))
    41     else:
    42         print('不支持的货币')
    43 
    44 
    45 # 调用Main函数
    46 if __name__ == '__main__':
    47     main()
    View Code
  • 相关阅读:
    【机器学习】关于判别模型和生成模型
    Delphi新手跟我学写CALL,附完整原程序
    QT事件研究的文章
    杂烩:QWidget、QGraphics、QtQuick
    Golang全接触
    学会使用git
    代码创建 WPF 旋转动画
    值得推荐的C/C++框架和库 very good
    可恶的QT隐式共享
    Notes on OpenSSL and Qt(ssl.pri,qsslocket_openssl_symbols.cpp)
  • 原文地址:https://www.cnblogs.com/xihao/p/10801423.html
Copyright © 2011-2022 走看看