任务描述

石油桶数是常见的原油数量单位。
欧佩克组织和英美等西方国家原油数量单位通常用桶来表示,中国及俄罗斯等国则常用吨作为原油数量单位。
吨和桶之间的换算关系是:1桶(bbl)=0.14吨(t)
编写程序输入原油的价格和带有单位的数量,计算并显示其需要的美元金额。输入时价格以美元/桶为单位,数量可以以桶或吨为单位,10bbl表示10桶,2t表示2吨。

 

相关知识

为了完成本关任务,你需要掌握:
1.字符串切片
2.分支语句
3.格式化输出format

字符串切片

字符串是一种序列类型,可以按序号访问其中的某个字符。
Python有两种符号体系。一种是第一个字符序号为0,后面的字符依次加一。还有一种是最后一个字符序号为-1,前面的字符依次减一。

python计算苹果价格去除小数_字符串

可以通过字符串[序号]形式来截取某个字符

也可以采取下列方法切片,截取其中的几个字符
<字符串>[<开始序号>:<结束序号>] 功能:截取子字符串,从<开始序号>开始直到<结束序号>结束,但不包括<结束序号>位置。
如果开始序号缺失,则从第一个字符开始截取
如果结束序号缺失,或截取到最后一个字符。
字符串采用unicode编码,一个英文字符或汉字长度均为1。
示例:

  1. x="25t"
  2. y="100bbl"

x[-1]为字符串的最后一个字符t
x[:-1]为字符串的第一个字符到最后一个字符之前的字符串,为25
y[-3:]为字符串的最后三个字符bbl
y[:-3]为为字符串的第一个字符到最后三个字符之前的字符串,为100

分支语句

分支语句是控制程序运行的一类重要语句,它的作用是根据判断条件选择程序执行路径

  1. if <条件1>:
  2. <语句块1>
  3. elif <条件2>:
  4. <语句块2>
  5. ...
  6. else:
  7. <语句块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中间有个点。

例如

  1. x=1.2312
  2. print("x是{:.2f}".format(x))

显示结果为
x是1.23

测试说明

测试输入:
请输入原油价格57.09
请输入原油数量10bbl
预期输出:570.90

请输入原油价格57.09
请输入原油数量10t
预期输出:4077.86

测试输入:
请输入原油价格57.09
请输入原油数量10kg
预期输出:输入格式错误

参考代码如下:

#油气产量换算程序
jg= input("请输入原油价格")
sy = input("请输入原油数量")
#代码开始
if sy[-3:] == "bbl":
    print("{:.2f}".format(eval(sy[:-3])*eval(jg)))
elif sy[-1] == 't':
    print("{:.2f}".format(eval(sy[:-1])/0.14*eval(jg)))
else:
    print("输入格式错误")
#代码结束