可爱的菲菲酱 发表于 2020-2-27 10:45:21

小白中的小白

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

求这个输入数的科学计数法和保留两位小数,这里为什么出错啊?
%后面直接加数字是可以的,但为什么变成整数变量a什么的就直接报错了?
能帮我改一下和解释一下原因吗,还是我写的有问题?

qiuyouzhi 发表于 2020-2-27 10:55:21

因为格式化的结果是一个字符串,
而字符串是不能直接操作在%E上的

可爱的菲菲酱 发表于 2020-2-27 11:55:31

qiuyouzhi 发表于 2020-2-27 10:55
因为格式化的结果是一个字符串,
而字符串是不能直接操作在%E上的

那么应该怎么修改?将变量用int()吗?

qiuyouzhi 发表于 2020-2-27 12:02:01

可爱的菲菲酱 发表于 2020-2-27 11:55
那么应该怎么修改?将变量用int()吗?

可以试试

莫的感情的路人 发表于 2020-3-2 13:58:13

输入这段,你可以看到b的格式是字符串,得先把b转成整型或浮点型才能运行c那一行

莫的感情的路人 发表于 2020-3-2 13:58:44

莫的感情的路人 发表于 2020-3-2 13:58
输入这段,你可以看到b的格式是字符串,得先把b转成整型或浮点型才能运行c那一行

a=input()
b="%.2f"%(int(a))
print(type(b))
页: [1]
查看完整版本: 小白中的小白