python入门基础学习记录汇率案例学习记录(代码片段)

xihao xihao     2022-12-05     798

关键词:

一、汇总整理

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

 

[flowable工作流]学习记录[搭建简易模拟案例](代码片段)

...的工作需要用到flowable工作流相关的知识点,所以计划找点入门的教程,学习一下flowable的使用.本次学习记录来自B站教学视频:【工作流】Flowable大合集-值得收藏Flowable用户手册:https://tkjohn.github.io/flowable-userguide/#_introduction链接:Flowabl... 查看详情

python入门学习记录

--------大小写敏感 >>>myName=input("Pleaseenteryourname:");Pleaseenteryourname:zhangyongsen>>>myAge=input("whataboutyourage:");whataboutyourage:30>>>print 查看详情

vue初级入门学习记录二(代码片段)

最近心血来潮的学起来了vue之前做了个表格增删的,今天来做一下vue+springboot后端登录验证的也是比较基础的(这里前后端都是没有做登录拦截的)首先要安装一些基本的依赖#(进入到项目根目录)vueaddelement(添加element,一个element... 查看详情

基于bi-lstm和迁移学习的多元汇率预测研究学习记录

...#xff0c;现阅读了相关论文并记录了实现流程,以供参考学习。下面是相关论文介绍:基于Bi-LSTM和迁移学习的多元汇率预测研究Bi-LSTM模型双向长短期记忆网络(Bi-directionallongshort-termmemory,Bi-LSTM)是LSTM模型的扩展࿰... 查看详情

基于bi-lstm和迁移学习的多元汇率预测研究学习记录

...#xff0c;现阅读了相关论文并记录了实现流程,以供参考学习。下面是相关论文介绍:基于Bi-LSTM和迁移学习的多元汇率预测研究Bi-LSTM模型双向长短期记忆网络(Bi-directionallongshort-termmemory,Bi-LSTM)是LSTM模型的扩展࿰... 查看详情

笔记react学习与记录(代码片段)

react学习与记录基础精讲起步src->App.js、index.js响应式设计思想和事件绑定计数器增减和循环案例写法注意面向对象拆分组件与组件间传值父组件向子组件传递数据子组件向父组件传递数据代码代码优化围绕react衍生出的思考reac... 查看详情

python入门基础学习详解二(代码片段)

Python语言学习函数如何定义对象模块前面学习了一些基础的语法,基础的一些东西,今天刚好遇到用到函数啥的,想着把Python语言再多学点。基础语法可以参考我前面写的学习笔记:Python入门基础学习详解一具体... 查看详情

python语法学习记录:argparse的用法(代码片段)

PYTHON中argparse的用法文章目录PYTHON中argparse的用法PYTHON中argparse的用法基础语法不同参数的输入定位参数可选参数混合使用add_argument参数输入的选项nameorflagsactionstorestore_conststore_true和store_falseappendappend_constcountversionnargsnargs= 查看详情

python入门学习记录

--------大小写敏感 >>>myName=input("Pleaseenteryourname:");Pleaseenteryourname:zhangyongsen>>>myAge=input("whataboutyourage:");whataboutyourage:30>>>print("HelloWorld,mynameis",myName,"andiam",myage,"Yearsold.");Traceba... 查看详情

git学习记录力做全网最强入门教程(代码片段)

目录Git学习记录力做全网最强入门教程什么是GitHub?什么是Git?Git的配置Git的安装(只介绍windos操作系统下)Git的配置至此我们的入门教程到此结束,更新中级教程要等欧Git学习记录力做全网最强入门教程什么是GitHub?若您在不知道Gi... 查看详情

数据挖掘读书与学习记录

...中3.<集体智慧编程>进行中 2017.10.16-2017.11.301.<Python3网络爬虫实战案例>--崔庆才看完,代码过完(部分需要云主机的章节未实践) 2017.9.1-2017.10.151.<利用Python进行数据分析>看完 查看详情

数据分析与运营学习记录贴

...-numpy(1)  2:数据分析numpy常用函数及常规操作  3:pandas入门  4:pandas函数及常规操作  5:matplotlib   6:seaborn  插7:监督学习与非监督学习  7:线性回归  8:逻辑回归    8.1交叉验证  9决策树  10:随机森林 查看详情

python新手入门学习记录23msgbox()multenterbox()fileopenbox()diropenbox()textbox()buttonbox()filesavebox()(代码片

写在前面的话写了一上午,一不小心关闭了页面,所有都没了。。。。。胡乱重写了一部分,还是让我静一静。。痛哭、、、、引以为戒啊1、实现登记用户信息界面,其中带星号的为必填项不能为空或者不能为空... 查看详情

vue开发自定义插件学习记录--入门(代码片段)

首先,你需要了解插件实现的基本原理 插件基本原理: 我们都知道用Vue.use注册插件,那你知道Vue.use(plugin)干了什么?以下是我对Vue官网的一些摘录和个人的理解 Vue.use(plugin) 参数:Object|Functionplugin 用法:安... 查看详情

mybatis-plus工具学习笔记---[基本概述,入门案例搭建,通用service接口使用](代码片段)

文章目录1.基本概述2.入门案例搭建3.BaseMapper3.1新增功能测试3.2删除功能测试3.2更新功能测试3.4查询功能测试3.5测试自定义功能4.通用Service接口4.1测试查询总记录数4.2测试批量存储数据功能近期也是计划学习mybatis-plus,扩展知识;推... 查看详情

mybatis-plus工具学习笔记---[基本概述,入门案例搭建,通用service接口使用](代码片段)

文章目录1.基本概述2.入门案例搭建3.BaseMapper3.1新增功能测试3.2删除功能测试3.2更新功能测试3.4查询功能测试3.5测试自定义功能4.通用Service接口4.1测试查询总记录数4.2测试批量存储数据功能近期也是计划学习mybatis-plus,扩展知识;推... 查看详情

flink学习记录--入门篇(代码片段)

前言流式计算可能在日常不多见,主要统计一个阶段内的PV、UV,在风控场景很常见,比如统计某个用户一天内同地区下单总量来判断该用户是否为异常用户。还有一些大数据处理场景,如将某一段时间生成的日志... 查看详情

python教程入门学习python基础学习(代码片段)

Python的函数参数传递在Python中,strings,tuples=(‘abc’,123,2.2,'join),numbers是不可更改的对象;list=[‘abc’,123,2.23,‘john’],dict等则是可以修改的对象。代码示例:a=1deffun(a):a=2fun(a 查看详情