使用format进行格式化,输出指定位数的小数的两种方法:
1.使用format方法结合%进行格式化输出
2.使用format方法进行格式化输出
此处使用猴子吃包子的问题加以解释说明:
问题描述
从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同;肉包每秒钟吃x个;韭菜包每秒钟吃y个;没有馅的包子每秒钟吃z个;现在有x1个肉包,y1个韭菜包,z1个没有馅的包子;问:猴子吃完这些包子要多久?结果保留p位小数。
输入格式
输入1行,包含7个整数,分别表示吃不同包子的速度和不同包子的个数和保留的位数。
输出格式
输出一行,包含1个实数,表示吃完所有包子的时间。
样例输入
4 3 2 20 30 15 2
样例输出
22.50
1. 用format格式化输出
x,y,z,x1,y1,z1,p=list(map(int,input().strip().split()))
time=x1/x+y1/y+z1/z
print("{0:.{1}f}".format(time,p))
#
此处使用的就是format方法的指定位置的格式化功能,将time填补到0的那个{}中,即外面的{}。将format()中,传入到位置1中的参数p,填补到{1}中。
简单的format指定位置输出案例如下:
2. 用format方法结合%进行格式输出
x,y,z,x1,y1,z1,p=list(map(int,input().strip().split()))
time=x1/x+y1/y+z1/z
print("%.{}f".format(p)%time)
'''
#p=3时,保留小数位数为3位
2 3 1 5 6 8 3
12.500
>>>
#p=2时,保留小数位数为2位
2 3 1 5 6 8 2
12.50
>>>
'''