【Python 10】汇率兑换3.0(while循环)
1.案例描述
设计一个汇率换算程序,其功能是将美元换算成人民币,或者相反。
2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算
3.0增加功能:程序可以一直运行,知道用户选择退出
2.案例分析
3.循环语句while
控制程序语句:根据判断条件确定一段程序是否再次执行一次或者多次。
- # 当条件为True时,执行语句块1;为False时退出循环
- while (<条件>):
- <语句块1>
- <语句块2>
4.上机实验
- """
- 作者:梁斌
- 功能:汇率兑换
- 版本:3.0
- 日期:02/08/2017
- 2.0 新增功能:根据输入判断是人民币还是美元,进行相应的转换计算
- 3.0 增加功能:程序可以一直运行,直到用户选择退出
- """
- # 汇率
- USD_VS_RMB = 6.77
- # 带单位的货币输入
- currency_str_value = input('请输入带单位的货币金额(退出程序请输入Q):')
- i = 0
- while currency_str_value != 'Q':
- i = i + 1
- # print('循环次数', i)
- # 获取货币单位
- unit = currency_str_value[-3:]
- if unit == 'CNY':
- # 输入的是人民币
- rmb_str_value = currency_str_value[:-3]
- # 将字符串转换为数字
- rmb_value = eval(rmb_str_value)
- # 汇率计算
- usd_value = rmb_value / USD_VS_RMB
- # 输出结果
- print('美元(USD)金额是:', usd_value)
- elif unit == 'USD':
- # 输入的是美元
- usd_str_value = currency_str_value[:-3]
- # 将字符串转换为数字
- usd_value = eval(usd_str_value)
- # 汇率计算
- rmb_value = usd_value * USD_VS_RMB
- # 输出结果
- print('人民币(CNY)金额是:', rmb_value)
- else:
- # 其他情况
- print('目前版本尚不支持该种货币!')
- print('************************************************')
- # 带单位的货币输入
- currency_str_value = input('请输入带单位的货币金额(退出程序请输入Q):')
- print('程序已退出!')
5.Pycharm使用技巧
多行代码缩进:全部选中缩进代码,Tab键
【Python 10】汇率兑换3.0(while循环)的更多相关文章
- 【Python 11】汇率兑换4.0(函数)
1.案例描述 设计一个汇率换算程序,其功能是将美元换算成人民币,或者相反. 2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算 3.0增加功能:程序可以一直运行,知道用户选择退出 4.0 ...
- 【Python 12】汇率兑换5.0(Lambda函数)
1.案例描述 设计一个汇率换算程序,其功能是将美元换算成人民币,或者相反. 2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算 3.0增加功能:程序可以一直运行,知道用户选择退出 4. ...
- 【Python 07】汇率兑换1.0-2(基本元素)
1.Python基本元素 (1)缩进:表示代码层次关系(Python中表示程序框架唯一手段) 1个tab或者4个空格 (2)注释:开发者加入的说明信息,不被执行.一个代码块一个注释. # 单行注释(一 ...
- 【Python 09】汇率兑换2.0-2(分支语句)
分支语句:根据判断条件选择程序执行路径 1.使用方法 if <条件1>: <语句块1> elif <条件2>: <语句块2> ... else: < ...
- mac上Python多版本共存(python2.7.10和python3.5.0)
本文的实现目标是在mac上安装一个python3.5.0的版本,跟当前系统自带的python2.7.10共存. 查看当前版本号 python -V 2.7.10 安装配置Python版本管理器pyen ...
- 0.9循环=lim(n趋于无穷大)(1-1/10的n次方),所以这是一个极限问题
0.9循环=lim(n趋于无穷大)(1-1/10的n次方),所以这是一个极限问题 因为lim(...)(1-1/10的n次方)=1 这意味着维尔斯特拉斯发明极限定义之前,这个等号是不成立的,因为没有极 ...
- Python黑帽编程 2.0 第二章概述
Python黑帽编程 2.0 第二章概述 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一 ...
- 【Python⑥】python的缩进,条件判断和循环
缩进 Python的最大特色是用缩进来标明成块的代码. 这点和其他语言区别很明显,比如大家熟悉的C语言里: ) { num+=; flag-=; } 而在python中: if flag>= 0 ...
- Python基础(6)--条件、循环
本文的主要内容是 Python 的条件和循环语句以及与它们相关的部分. 我们会深入探讨if, while, for以及与他们相搭配的else,elif,break,continue和pass语句. 本 ...
随机推荐
- 使用 Nginx 在 Linux 上托管 ASP.NET Core 应用程序
本文于2019年04月10日将标题「CentOS7 部署 ASP.NET Core应用程序」修改为「使用 Nginx 在 Linux 上托管 ASP.NET Core 应用程序」. 环境准备 VMwa ...
- 一起来看 rxjs
更新日志 2018-05-26 校正 2016-12-03 第一版翻译 过去你错过的 Reactive Programming 的简介 你好奇于这名为Reactive Programming(反应式编 ...
- RabbitMQ是如何运转的?
前言 之前已经介绍了RabbitMQ交换机模型的相关简单概念,都是作为此篇的基础铺垫,如果对此篇不懂的可以先看我上一篇的介绍认识RabbitMQ交换机模型,或者联系评论,分享<RabbitMQ实 ...
- ZooKeeper的三种典型应用场景
引言 ZooKeeper是中典型的pub/sub模式的分布式数据管理与协调框架,开发人员可以使用它进行分布式数据的发布与订阅.另外,其丰富的数据节点类型可以交叉使用,配合Watcher事件通知机制,可 ...
- javascript基础修炼(1)——一道十面埋伏的原型链面试题
在基础面前,一切技巧都是浮云. 题目是这样的 要求写出控制台的输出. function Parent() { this.a = 1; this.b = [1, 2, this.a]; this.c = ...
- .Net语言 APP开发平台——Smobiler学习日志:SmoOne新增考勤功能
大家好!SmoOne这次新增了考勤功能,大家打开SmoOne应用便可体验,无需重新下载更新.如果没有下载SmoOne客户端,可以在apps.smobiler.com进行下载安装. 另外,SmoOne开 ...
- 【转】Android必备知识点- Android文件(File)操作
Android 使用与其他平台上基于磁盘的文件系统类似的文件系统. 本文讲述如何使用 Android 文件系统通过 File API 读取和写入文件. File 对象适合按照从开始到结束的顺序不跳过地 ...
- 微信小程序域名配置问题
最主要的:不能用ip地址,不能用localhost,域名要经过备案等 这些在 https://developers.weixin.qq.com/miniprogram/dev/framework/ab ...
- Js与jQuery的相互转换
$()与jQuery() jQuery中$函数,根据传入参数的不同,进行不同的调用,实现不同的功能.返回的是jQuery对象 jQuery这个js库,除了$之外,还提供了另外一个函数:jQuery j ...
- 荣耀MagicBook黑苹果(i7)High Sierra 10.13.6
这里有大佬维护的新版本EFI,对应10.14.4:https://github.com/hjmmc/Honor-Magicbook ---------------------------------- ...