educoder:Python初探(三)
第3关:基本的原油金额计算
任务描述
本关任务: 石油桶数是常见的原油数量单位。 欧佩克组织和英美等西方国家原油数量单位通常用桶来表示,中国及俄罗斯等国则常用吨作为原油数量单位。 吨和桶之间的换算关系是:1桶(bbl)=0.14吨(t) 编写程序输入原油的价格和带有单位的数量,计算并显示其需要的美元金额。输入时价格以美元/桶为单位,数量可以以桶或吨为单位,10bbl表示10桶,2t表示2吨。
相关知识
为了完成本关任务,你需要掌握:
1.字符串切片
2.分支语句
3.格式化输出format
字符串切片
字符串是一种序列类型,可以按序号访问其中的某个字符。 Python有两种符号体系。一种是第一个字符序号为0,后面的字符依次加一。还有一种是最后一个字符序号为-1,前面的字符依次减一。
可以通过字符串[序号]
形式来截取某个字符
也可以采取下列方法切片,截取其中的几个字符 <字符串>[<开始序号>:<结束序号>]
功能:截取子字符串,从<开始序号>开始直到<结束序号>结束,但不包括<结束序号>位置。
如果开始序号缺失,则从第一个字符开始截取 如果结束序号缺失,或截取到最后一个字符。
字符串采用unicode编码,一个英文字符或汉字长度均为1。
示例:
x="25t"
y="100bbl"
x[-1]
为字符串的最后一个字符t
x[:-1]
为字符串的第一个字符到最后一个字符之前的字符串,为25
y[-3:]
为字符串的最后三个字符bbl
y[:-3]
为为字符串的第一个字符到最后三个字符之前的字符串,为100
分支语句
分支语句是控制程序运行的一类重要语句,它的作用是根据判断条件选择程序执行路径
if <条件1>:<语句块1>
elif <条件2>:<语句块2>
...
else: <语句块N>
当条件1为True时,执行语句块1
否则当条件2为True时,执行语句块2
若所有条件都不为True,执行语句块N
在if语句中: 条件通常是关系表达式。
==是关系运算符,比较两个表达式是否相等。当相等时返回True。
x[-1]=='t'
表示当x的最后一个字符为t时,返回True,否则返回False。
每个条件后面,有一个冒号。 同一个语句块的语句中,前面有相同的缩进。
格式化输出format()
当输出变量时,如果需要采取格式化输出方式,通过字符串.format()方法将待输出变量整理成期望输出的格式。
在下图中,字符串中的{:.2f}大括号表示一个槽位置,显示时为format内的表达式的值,:.2f(冒号点2f) 表示显示数值取两位小数。
注意:字符串和format中间有个点。
例如:
x=1.2312
print("x是{:.2f}".format(x))
显示结果为
x是1.23
测试说明
平台会对你编写的代码进行测试:
测试输入:
请输入原油价格57.09
请输入原油数量10bbl
预期输出:570.90
请输入原油价格57.09
请输入原油数量10t
预期输出:4077.86
测试输入:
请输入原油价格57.09
请输入原油数量10kg
预期输出:输入格式错误
代码:
jg= eval(input("请输入原油价格"))
sy = input("请输入原油数量")
if sy[-1] == 't':sy = eval(sy[:-1])/0.14result = jg * syprint("{:.2f}".format(result))
elif sy[-2:] == "kg":print("输入格式错误")
else:sy = eval(sy[:-3])result = jg * syprint("{:.2f}".format(result))
educoder:Python初探(三)相关推荐
- 【Educoder python 作业答案】国防科技大学《大学计算机基础》Python控制结构(二)※
[Educoder python 作业答案]国防科技大学<大学计算机基础>Python控制结构(二)※ 第1关:分支结构基础实训 第2关:循环结构基础实训 第3关:函数基础实训 第4关:控 ...
- Python中将三个列表数据zip起来并遍历(Iterating through three lists in parallel)
Python中将三个列表数据zip起来并遍历(Iterating through three lists in parallel) 目录 Python中将三个列表数据zip起来并遍历(Iteratin ...
- python项目开发案例集锦 豆瓣-Python第三个项目:爬取豆瓣《哪吒之魔童降世》 短评...
前面爬完网站信息图片之后,今天的又有了个小目标,最近的电影哪吒很火,去豆瓣上看了一下 影评,决定了今天主要是实现Python第三个项目:爬取豆瓣<哪吒之魔童降世> 短评,然后下载在exce ...
- 孤荷凌寒自学python第三十八天初识python的线程控制
孤荷凌寒自学python第三十八天初识python的线程控制 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.线程 在操作系统中存在着很多的可执行的应用程序,每个应用程序启动后,就可以看着 ...
- python判断哪个数最小_怎么用python比较三个数大小
大部分初学编程的人来说刚开始都会练习判断两个数或者三个数的大小,来熟悉某种语言的特性和最基本的if,else循环,当我们学习了更高级的语法知识后,又会有不同的实现方式,比如依次接收用户输入的3个数,排 ...
- python中三个双引号 的作用是什么?1、多行注释 2、定义多行字符串(代替转义字符换行符 \n)
作用1:多行注释 # 这是单行注释""" 这是多行注释第一行 这是多行注释第二行 这是多行注释第三行 """ 作用2:定义多行字符串(无需转 ...
- python求三个整数最大值_怎么用python比较三个数大小
大部分初学编程的人来说刚开始都会练习判断两个数或者三个数的大小,来熟悉某种语言的特性和最基本的if,else循环,当我们学习了更高级的语法知识后,又会有不同的实现方式,比如依次接收用户输入的3个数,排 ...
- [Python人工智能] 三十四.Bert模型 (3)keras-bert库构建Bert模型实现微博情感分析
从本专栏开始,作者正式研究Python深度学习.神经网络及人工智能相关知识.前一篇文章开启了新的内容--Bert,首先介绍Keras-bert库安装及基础用法及文本分类工作.这篇文章将通过keras- ...
- [Python图像处理] 三十三.图像各种特效处理及原理万字详解(毛玻璃、浮雕、素描、怀旧、流年、滤镜等)
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
- [Python图像处理] 三十一.图像点运算处理两万字详细总结(灰度化处理、阈值化处理)
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
最新文章
- 日本人真会玩!3天众筹60万元来造“机器猫”,会说话摇尾巴的那种
- Android开发--传感器介绍
- labview数据枚举数据服务器,枚举器报告'未指定的错误,不能枚举服务器
- 执行Plugins下的install:install报错:The packaging for this project did not assign a file to the build artif
- python作者 es6_es6之js的类
- 2021年黑龙江高考成绩查询,黑龙江省招生考试信息港:2021年黑龙江高考成绩查询入口、查分系统...
- Kettle8.2输入组件之Get data from xml
- c语言程序设计教程实验指导吴国栋,C语言程序设计教程实验指导
- 静态测试和动态测试(面试题)
- bugzilla dbd-mysql_如何在CentOS 7上安装Bugzilla 5.0.x
- 数据库应用技术课程设计之商城管理系统
- 实验五:暴力破解防范措施和防范误区
- 如何使用XMind进行高效的时间管理
- Dynamics 365 New Feature之Rich Text Editor Control
- 去掉字符串中的所有空格
- 虚拟化IBM HMC
- 浅谈高性能计算(HPC)
- 11子程序设计中的内聚性
- Linux:驱动之自动创建字符设备的设备文件(未完)
- 云溪天工生产对接_解读工业智能网关如何快速对接百度天工IoT Hub