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.14
    result = jg * sy
    print("{:.2f}".format(result))
elif sy[-2:] == "kg":
    print("输入格式错误")
else:
    sy = eval(sy[:-3])
    result = jg * sy
    print("{:.2f}".format(result))

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值