我与你,一同学Python(13)

嗨害嗨,我又来了啊!今天给大家介绍Python中如何精准控制数据输出。

先看到Program_34。

#Program_34
 
int_ = 1    #将1赋值给变量int_
float_ = 1.0    #将1.0赋值给变量float_
str_ = "龟"    #将"龟"赋值给变量str_
 
print("我有%d只%s(%f只%s)" % (int_, str_, float_, str_))    #输出"我有1只龟(1.000000只龟)"
 
 
"""
控制台:
我有1只龟(1.000000只龟)
"""

我想要输出的是1.0,他却输出的是1.000000。那我们怎么办呢?

是时候运用本章的概念了!

如果用%格式化输出方法的话,那精准控制法如下:

#Program_39
 
int_ = 1    #将1赋值给变量int_
float_ = 1.0    #将1.0赋值给变量float_
str_ = "龟"    #将"龟"赋值给变量str_
 
print("我有%d只%s(%1.1f只%s)" % (int_, str_, float_, str_))    #输出"我有1只龟(1.0只龟)"
 
 
"""
控制台:
我有1只龟(1.0只龟)
"""

可以看到,1.000000成功变为1.0。

我们发现,%f变成了%1.1f。那这是什么意思呢?

前面的1,表示预留1格输出。但这儿需要3格。所以Python自动调为3格输出。

后面的1,表示四舍五入到第一位(十分位)。

那如果输出格数有多,Python或如何做出反应呢?欲知后事如何,请听下回分解~我们试试。

#Program_39_1
 
int_ = 1    #将1赋值给变量int_
float_ = 1.0    #将1.0赋值给变量float_
str_ = "龟"    #将"龟"赋值给变量str_
 
print("我有%d只%s(%10.1f只%s)" % (int_, str_, float_, str_))    #输出"我有1只龟(       1.0只龟)"


"""
控制台:
我有1只龟(       1.0只龟)
"""

可以看到,Python会靠右输出。那咱想靠左输出怎办?

别慌,我自有妙计~

#Program_39_2
 
int_ = 1    #将1赋值给变量int_
float_ = 1.0    #将1.0赋值给变量float_
str_ = "龟"    #将"龟"赋值给变量str_
 
print("我有%d只%s(%-10.1f只%s)" % (int_, str_, float_, str_))    #输出"我有1只龟(1.0只龟        )"


"""
控制台:
我有1只龟(1.0       只龟)
"""

是的,加个负号,一切就结束了~

你以为只能控制浮点数的输出吗?错!

还有很多很多~

%(+/-)nd:控制整数的输出。

%(+/-)m.nf:控制浮点数的输出。

%(+/-)nx:控制十六进制整数的输出。

%(+/-)no:控制八进制整数的输出。

%(-)ns:控制字符串的输出。

%(-)m.ns:控制字符串的输出,m或n小于字符串宽度或高度的话会裁剪字符串。

%(+/-)e:控制小写e制科学计数法的输出。

%(+/-)E:控制大写E制科学计数法的输出。

实验时间到~

#Program_40

int_ = 1    #将1赋值给变量int_
print("number is %+5d" % int_)    #输出"number is     +1"


"""
控制台:
number is     +1
"""

我们发现,加上正号,可以使正数添上正号。

#Program_41

str_ = "Python"    #将"Python"赋值给变量str_
print("I love%7s" % str_)    #输出"I love Python"


"""
控制台:
I love Python
"""
#Program_42

str_ = """Python
Java
C"""
   
"""
将\"""Python
Java
C\"""赋值给变量str_(3~5行)
"""

print("%1.6s" % str_)    #输出"Python"


"""
控制台:
Python
"""

%的控制输出我们讲了,那{}和format()、f-strings的控制输出该怎么写呢?

其实也很简单。

我们以求圆面积来举例。

#Program_43

from math import *    #导入math库中的所有模块

radius = 5    #将5赋值给变量raidus
area = pi * 5**2    #计算π·5²的积,并将结果赋值给变量area

print("面积 ={0:6.2f}".format(area))    #输出"面积 = 78.54"


"""
控制台:
面积 = 78.54
"""

其实也就和%格式化输出精准控制法差不多,就是把%换成{num:}了。

这个0代表第一个精准控制的数据。0是第一个,1是第二个,以此类推。

我们还可以设置数据究竟是靠左、靠中,还是靠右(<是靠左,>是靠右,^是靠中)。

#Program_43_1

from math import *    #导入math库中的所有模块

radius = 5    #将5赋值给变量raidus
area = pi * 5**2    #计算π·5²的积,并将结果赋值给变量area

print("面积 ={0:<6.2f}".format(area))    #输出"面积 =78.54"


"""
控制台:
面积 =78.54
"""

我们还可以设置空格填充什么(当然必须在><^之后,否则,你会看到红字而非蓝字)。

#Program_43_2

from math import *    #导入math库中的所有模块

radius = 5    #将5赋值给变量raidus
area = pi * 5**2    #计算π·5²的积,并将结果赋值给变量area

print("面积 ={0:*>6.2f}".format(area))    #输出"面积 =*78.54"


"""
控制台:
面积 =*78.54
"""

最后是f-strings的精准输出。

f-strings的精准输出基本上与{}和format()精准输出法一样。

还是以求圆面积为例。

#Program_44

from math import *    #导入math库中的所有模块

radius = 5    #将5赋值给变量raidus
area = pi * 5**2    #计算π·5²的积,并将结果赋值给变量area

print(f"面积 ={area:6.2f}")    #输出"面积 = 78.54"


"""
控制台:
面积 = 78.54
"""

就是把输出顺序换成变量名了而已。

好了,今天的教学就到这儿。下次再见了~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值