可爱的菲菲酱 发表于 2020-2-27 14:53:24

这里哪里错了?

a=input()
b="%.2f"%(int(a))
c="%E"%(int(b))
print(c)

求这个输入数的科学计数法和保留两位小数,这里为什么出错啊?
%后面直接加数字是可以的,但为什么变成整数变量a什么的就直接报错了?

一个账号 发表于 2020-2-27 14:56:08

a=input()
b="%.2f"%(int(a))
c="%E"%(int(float(b)))
print(c)

qiuyouzhi 发表于 2020-2-27 14:58:34

因为格式化的结果是字符串
所以要这样写:
a=int(input())
b="%.2f"% a
b = float(b)
c="%E"% b
print(c)

可爱的菲菲酱 发表于 2020-2-27 15:26:10

一个账号 发表于 2020-2-27 14:56


可还是出现了错误b="%.2f"%(int(a))
ValueError: invalid literal for int() with base 10: '1.234'

一个账号 发表于 2020-2-27 16:28:35

可爱的菲菲酱 发表于 2020-2-27 15:26
可还是出现了错误b="%.2f"%(int(a))
ValueError: invalid literal for int() with base 10: '1.234'

a=input()
b="%.2f"%(int(float(a)))
c="%E"%(int(float(b)))
print(c)
页: [1]
查看完整版本: 这里哪里错了?