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('用户输入的金额是:', 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.获取用户的输入,将输入的文本转换为数值,并输出用户的输入值
rmb_str = input('请输入人民币金额:')
rmb_val = eval(rmb_str)
print('用户输入的金额是:', rmb_val)
2.获取用户输入人民币,通过定义的汇率计算并输出美元金额
# 定义常量汇率
USD_VS_RMB = 6.77 # 获取用户输入人民币
rmb_str = input('请输入人民币金额:')
rmb_val = eval(rmb_str) # 计算美元金额
usd_val = rmb_val / USD_VS_RMB # 输出美元金额
print('用户输入的金额是:', usd_val)
3.①获取用户输入的带符号的货币,②拆分出金额部分和货币符号,③根据货币符号计算出人民币金额或美元金额(区间索引、条件分支)④循环执行(while)
# 定义常量汇率
USD_VS_RMB = 6.77 # ①获取用户输入带符号货币文本
input_val_str = input('请输入带符号货币金额(退出输入Q):') # ④while 判断,如果输入Q退出while循环
while input_val_str.upper() != 'Q': # ②提取输入文本的货币符号
unit_str = input_val_str[-:]
print('货币符号:', unit_str) # ②提取货币金额部分
currency_val_str = input_val_str[:-]
currency_val = eval(currency_val_str)
print('金额部分:', currency_val_str) # ③判断金额符号计算相应货币金额
if unit_str.upper() == 'CNY':
# 输入的是人民币,计算美元
usd_val = currency_val / USD_VS_RMB
print('输入的人民币金额 %a,对应美元金额是%s' % (currency_val, usd_val))
elif unit_str.upper() == 'USD':
# 输入的是美元,计算人民币
rmb_val = currency_val * USD_VS_RMB
print('输入的美元金额 %a,对应人民币金额是%s' % (currency_val, rmb_val))
else:
print('不支持的货币')
input_val_str = input('请输入带符号货币金额(退出输入Q):') print('程序已退出')
4.①将代码拆分为两个函数,一个计算转换后的金额(税率*金额),一个是执行函数(接收输入,根据货币类型计算税率,调用转换函数) ②使用lambda定义简单函数(同样实现计算转换后的金额)
def eval_currency(currency, rate):
"""
汇率兑换函数
:param currency:货币金额
:param rate:汇率
:return:兑换后金额
"""
return currency * rate def main():
"""
主函数
:return:
"""
# 定义常量汇率
USD_VS_RMB = 6.77 # 使用lambda定义简单函数
eval_currency2 = lambda x: x * exchange_rate input_val_str = input('请输入带符号货币金额:') # 提取输入文本的货币符号
unit_str = input_val_str[-:]
# 提取货币金额部分
currency_val_str = input_val_str[:-]
currency_val = eval(currency_val_str) # 判断金额符号计算汇率
if unit_str.upper() == 'CNY':
exchange_rate = / USD_VS_RMB
elif unit_str.upper() == 'USD':
exchange_rate = USD_VS_RMB
else:
exchange_rate = - if exchange_rate != -:
print('转换后的金额:', eval_currency(currency_val, exchange_rate))
print('lambda函数转换后的金额:', eval_currency2(currency_val))
else:
print('不支持的货币') # 调用Main函数
if __name__ == '__main__':
main()
Python入门基础学习记录(二)汇率案例学习记录的更多相关文章
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python入门基础学习 一
Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...
- Python 入门基础6 --字符编码、文件操作1
今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...
- Python学习(二)——深度学习入门介绍
课程二:深度学习入门 讲师:David (数据分析工程师) 这门课主要介绍了很多神经网络的基本原理,非常非常基础的了解. 零.思维导图预览: 一.深度神经网络 1.神经元 ...
- Python 入门基础学习
Python入门学习 我们使用python3.0版本 首选来入门 带你进入Hello World >>> print ("Hello World")Hell ...
- python入门基础
Python 入门 变量 什么是变量?变量就是变化的量,核心是"变"和"量"两个字,变就是变化,量就是衡量状态. 为什么需要变量?程序执行的本质就是一系列状态的 ...
- Python入门 ---基础知识
Python入门不知道这些你还是承早放弃吧!真的 Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言 ...
- python入门基础—安装
说明:0基础,那就先练习python语言基础知识,等基础知识牢固了,再对各开发平台分别进行介绍.这里只介绍两个简单而又容易搭建开发平台Anaconda和pycharm Anaconda是一个开源的Py ...
随机推荐
- JMS消息传递类型特点介绍
对于消息的传递有两种类型: 一种是点对点的,即一个生产者和一个消费者一一对应: 另一种是发布/ 订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进 行接收. 特点介绍: 点到点模型点对点传 ...
- Dubbo+Zookeeper实现简单的远程方法调用示例
1. Dubbo介绍 示例代码:Github 1.1 RPC Remote Procedure Call:远程过程调用 1.2 Dubbo架构 Subscribe 订阅:签署:赞成 Monitor 监 ...
- idea设置类注释和方法注释
类注释 1.file-->setting-->editor-->file and code templates-->includes--> file header 2.在 ...
- SpringBoot2.0中的事务@Transactional
在SpringBoot2.0中使用使用需要注意的地方. 1. 加@Transactional的方法不能是private和protected修饰,private会直接报编译错误,protected不会报 ...
- SpringCloud的入门学习之Eureka(Eureka的单节点)
SpringCloud--->Spring生态体系的微服务架构:https://spring.io/ 官网贴图,如下所示,介绍了微服务的架构体系(话说,英语好读官网,可能很爽吧,没体验过). 1 ...
- python基础(34):线程(二)
1. python线程 1.1 全局解释器锁GIL Python代码的执行由Python虚拟机(也叫解释器主循环)来控制.Python在设计之初就考虑到要在主循环中,同时只有一个线程在执行.虽然 Py ...
- 帝国CMS标签【操作类型】说明详解
看标签的参数时候,一般最后一个参数是操作类型说明,可是后面写的是:"操作类型说明 具体看操作类型说明", 这个操作类型说明在什么地方看啊 操作类型 说明 操作类型 说明 0 各栏目 ...
- Taro聊天室|react+taro仿微信聊天App界面|taro聊天实例
一.项目简述 taro-chatroom是基于Taro多端实例聊天项目,运用Taro+react+react-redux+taroPop+react-native等技术开发的仿微信App界面聊天室,实 ...
- 2019年上半年收集到的人工智能GAN干货文章
2019年上半年收集到的人工智能GAN干货文章 GAN简介及其常见应用 训练GAN,你应该知道的二三事 了解生成对抗网络(GAN) CosmoGAN:训练GAN,让AI寻找宇宙中的暗物质 关于GAN的 ...
- linux远程桌面连接 VNC Server
更新源 # sudo apt-get update 安装vnc4server # sudo apt-get install vnc4server 修改vnc远程连接密码 # vncpasswd 编辑v ...