一、汇总整理

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

转载于:https://www.cnblogs.com/xihao/p/10801423.html

Python入门基础学习记录(二)汇率案例学习记录相关推荐

  1. Python入门基础篇(二)元组,更适合新手哦!!!

    文章目录 前言 一.Python元组的创建与删除 1.元组的创建 2.元组的删除 二.元组的访问与修改 1.访问元组元素 2.修改元组元素 总结 前言 元组(tuple)是Python中另一种重要的序 ...

  2. python笔记基础-Python入门基础知识学习笔记之一

    为什么要写这篇文章? 本人做过Objective-C开发,现在在用C#做WinForm开发.近段时间在学习Python入门基础知识时,发现有很多知识点和Objective-C的不一样.故想通过本文记录 ...

  3. B站马士兵python入门基础版详细笔记(6)

    前言: 这篇文章是B站学习python入门基础班的视频的第五 六章内容,主要讲述的是列表,主要包括列表的创建,以及他的元素的增.删.查.改操作命令. 一.列表的初始化 为什么要使用列表? 列表就好比C ...

  4. Python入门基础(下)之魔方方法

    Python入门基础(下)之魔方方法 一.学习内容概括 学习地址:https://tianchi.aliyun.com/s/58327c15d1faee512c008128d3bb9e32 今天主要学 ...

  5. Python入门基础知识学什么?

    Python基础知识主要是针对一些零基础的同学安排的,虽说Python是相对比较简单的一门编程语言,但是没有基础的同学还是要进行系统的学习,那么Python入门基础知识学什么呢?来看看下面小编的详细介 ...

  6. python入门基础教程-Python入门基础教程:WSGI

    原标题:Python入门基础教程:WSGI WSGI 简介 WSGI 是什么 WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 P ...

  7. B站马士兵python入门基础版详细笔记(4)

    前言: 这篇文章是B站学习python入门基础班的视频的第四章内容,主要讲述的是if-else语句,但是不包括循环结构,循环结构在下一章笔记中有记叙 一.顺序结构 什么是顺序结构呢?比如说 '''把大 ...

  8. 儿童python教程书-Python入门基础教程(儿童版) [分享一本入门级教程]

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1. 推荐书名 No Starch--Python for ...

  9. python入门基础代码初学

    python入门基础代码初学 一.检查python安装 二.print使用 二.使用python运算 三.enumerate()函数 一.检查python安装 PS C:\Users\admin> ...

  10. 【目录】Python 入门基础篇 <(^-^)>

    Python 入门基础篇 一.关于Python的介绍与准备工作 Python基础介绍 Jupyter notebook基础介绍 Jupyter notebook打开问题 Jupyter noteboo ...

最新文章

  1. P2P网络“自由”穿越NAT的“秘密”
  2. 4G模块ME3760_V2的拨号过程
  3. android自定义滤镜,【Android】自定义View那点事(三)ColorFilter篇
  4. hihocoder-Week243-hiho字符串
  5. Windows平台RTMP直播推送集成简要说明
  6. JavaScript中的纯函数是什么?
  7. 如何验证APN是否添加成功?
  8. TCP Timestamp选项
  9. mysql 保存emoji 4字节宽度字符串
  10. yum -y --downloadonly --downloaddir=/root/ruiy update
  11. 活动报名 | 保护儿童,保护未来!智源发布《面向儿童的人工智能北京共识》
  12. HLK-W801-LVGL8之触摸驱动
  13. linux配置gcc环境,linux gcc4.8安装(多个gcc环境)
  14. MVC |分部视图 PartialView()
  15. java百度贴吧爬虫与高校贴吧数据分析
  16. 和菜头-当你在网络上被黑时
  17. 哈趣K1和哈趣H1哪个性价比更高?谁更值得入手?
  18. Android开发——使用Jword生成本地word文档
  19. 入门 | 一文简述深度学习优化方法——梯度下降
  20. 图库相册图片删除所有的分享按钮,点击打印,再点击所有打印机。再点击添加打印机,再点击默认打印服务,删除WLAN直连界面。

热门文章

  1. POJ2955Brackets——dp
  2. android 4.0.3开机时不能收到广播
  3. 修改JBoss-7.1.1 http访问端口并取消JBoss内网访问限制
  4. 评:我从编程中悟出八个字(不算原创,不过希望让大家能看看)
  5. 蓝桥杯 ALGO-5 算法训练 最短路
  6. 蓝桥杯 ADV-210 算法提高 2-1屏幕打印
  7. 蓝桥杯 ADV-88 算法提高 输出正反三角形
  8. 【iOS开发】理解IBOutlet、Outlet、referencing outlet、outlet connection
  9. python的datetime模块用法_Python3.5内置模块之time与datetime模块用法实例分析
  10. 一个非常标准的Java连接Oracle数据库的示例代码