pat 乙类 1024 python

指数部分有可能有多位,需要用exp = int(''.join(n[e_index+2:])) 

n = list(str(i) for i in input())
e_index = n.index("E")
exp = int(''.join(n[e_index+2:]))
num = n[:e_index]
if n[e_index+1] == "-":
    for i in range(exp):
        num.insert(1,"0")
    num.remove(".")
    num.insert(2,".")
    if num[0] == "+":
        num.remove("+")
else:
    for i in range(exp-len(num)+3):
        num.append("0")
    num.remove(".")
    if exp < len(num)-2:        # 移除了"."  num长度减少一位
        num.insert(2+exp,".")
    if num[0] == "+":
        num.remove("+")
print(''.join((num)))

2号测试点有非零返回,5、6号测试点答案错误

将exp = int(n[e_index+2]+n[e_index+3]) 变为 exp = int(n[e_index+2]) 2号测试点通过,其余测试点答案错误,指数部分有可能只有一位数字

将exp = int(n[e_index+2]+n[e_index+3]) 变为

exp = int(n[e_index+2]+n[e_index+3]+n[e_index+4]+n[e_index+5])  5、6号测试点正确,其余测试点为非零返回,指数部分有可能有四位数

n = list(str(i) for i in input())
e_index = n.index("E")
exp = int(n[e_index+2]+n[e_index+3])
num = n[:e_index]
if n[e_index+1] == "-":
    for i in range(exp):
        num.insert(1,"0")
    num.remove(".")
    num.insert(2,".")
    if num[0] == "+":
        num.remove("+")
else:
    for i in range(exp-len(num)+3):
        num.append("0")
    num.remove(".")
    if exp < len(num)-2:        # 移除了"."  num长度减少一位
        num.insert(2+exp,".")
    if num[0] == "+":
        num.remove("+")
print(''.join((num)))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值