格式化输出

想要以某种格式输出 

只需要把要打印的格式先准备好, 由于里面的 一些信息是需要用户输入的,你没办法预设知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系就好啦

name = input("Name:")
age = input("Age:")
job = input("Job:")
hobby = input("Hobby:")

info = '''
------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name 
Name  : %s  #代表 name 
Age   : %s  #代表 age  
job   : %s  #代表 job 
Hobby:  %s  #代表 hobby
------------- end -----------------
''' %(name,name,age,job,hobby)  # 这行的 % 号就是 把前面的字符串 与拓号 后面的 变量 关联起来                        
print(info)

%s就是代表字符串占位符,除此之外,还有%d,是数字占位符, 如果把上面的age后面的换成%d,就代表你必须只能输入数字

s = string

d = digit

f = float

%s 再输入小数后,小数点后面末尾0,会自动清空。如%s1.500000➡1.5

%f 默认末尾是6位

占位符%f在保存小数位的时候,默认保存6位,若超出,第6位是第7位根据四舍五入取值

%s是万能的

说%d需要一个数字,而不是str。

不用担心 ,不要相信你的眼睛我,们调试一下,看看输入的到底是不是数字呢?怎么看呢?查看数据类型的方法是什么来着?type()

name = input("Name:")
age = input("Age:")
print(type(age))

执行输出是

Name:Tom
Age:22
<class 'str'> #怎么会是str?
Job:IT
....

input接收的所有输入默认都是字符串格式!

要想程序不出错,那怎么办呢?简单,你可以把str转成int

age = int(  input("Age:")  )
print(type(age))

肯定没问题了。相反,能不能把数字转成字符串呢?必然可以,str( yourStr )

原文地址:https://www.cnblogs.com/fantsaymwq/p/9476359.html