输入3行字符串,然后对其按照说明进行格式化输出

输入格式:

第1行:一个浮点数字符串
第2行:一个整数字符串
第3行:一个非数值型字符串

输出格式:

对浮点数字符串:

第1行: 保留2位小数输出
第2行: 分别输出浮点数的小写字母e的指数形式,大写字母e的指数形式, 百分数形式且其小数部分为2位。每个输出的元素之间以一个空格分隔。

对于整数:

第3行:在一行分别输出其二进制与小写十六进制,之间以一个空格分隔。

对非数值型字符串:

首先,去除掉字符串得左右空格。然后输出3行:
第4行,将全部字符转化为大写并输出。
第5行,将字符串右对齐输出,宽度为20
第6行,将字符串居中输出,宽度20,两侧使用*填充。

最后:
第7行,将浮点数与整数以浮点数 + 整数 = 结果的形式输出

输入样例:

3.14159265
10
      abc 123     

输出样例

3.14
3.141593e+00 3.141593E+00 314.16%
1010 a
ABC 123
             abc 123
******abc 123*******
3.14159265 + 10 = 13.14159265

实现

#!/usr/bin/env python3
#-*- coding:utf-8 -*-
def main():
    #input
    row_1=float(input())
    row_2=int(input())
    row_3=input().strip()

    #output
    #float
    print(f"{row_1:0.2f}")
    print(f"{row_1:0e}",f"{row_1:0E}",f"{row_1:0.2%}")
    #int
    print(f"{row_2:0b}",f"{row_2:0x}")
    #str
    #print(f"{row_3}")
    print(f"{row_3.upper()}")
    #right - >  left - <
    print(f"{row_3:>20}")
    #centred filled by the char of '*'
    print(f"{row_3:*^20}")
    #Finally
    print(f"{row_1} + {row_2} = {row_1+row_2}")
#-----
main()

补充:格式化输出

输出

3.14546
20
  skfdj2
3.15
3.145460e+00 3.145460E+00 314.55%
10100 14
SKFDJ2
              skfdj2
*******skfdj2*******
3.14546 + 20 = 23.14546

Q.E.D.


仰望星空,还需脚踏实地。