解题思路:
按照字符串进行处理。
0要按照特殊情况处理。
普通情况:
①将计算结果转化为字符串,此处转化后的字符串命名为s
②取科学计数法前面的数,并保留6位小数num = float(s[:-5]),num = format(num,'.6f')
③取指数,也就是字符串的后两位e = s[-2:]
④利用format进行格式化输出。
注意事项:
参考代码:
def f(n): if n == 0: print("0.000000E+000") else: s = str((n*950)/(3*pow(10,-23))) #将计算结果转化为字符串 num = float(s[:-5]) #取科学计数法前面的数 e = s[-2:] #取指数 num = format(num,'.6f') print('{}E+{:0>3}'.format(num,e)) #格式化输出。 if __name__ == '__main__': n = float(input().strip()) f(n)
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题5.4 (C++代码)浏览:824 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:689 |
P1001 (C++代码)浏览:773 |
假币问题 (C++代码)(向上取整的一种处理方式)浏览:1660 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1009 |
震宇大神的杀毒软件 (C语言代码)浏览:1240 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:643 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:544 |
不容易系列 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:575 |