一. 格式化输出
现在有以下需求,让用户输入name, age, job,hobby 然后输出如下所示:
------------ info of Alex Li ----------- Name : Alex Li Age : 22 job : Teacher Hobbie: girl ------------- end -----------------
你怎么实现呢?你会发现, 字符拼接的方式还难实现这种格式的输出,所以一起来学一下新姿势
只需要把要打印的格式先准备好, 由于里面的一些信息是需要用户输入的,你没办法预设知道,因此可以先放置个占位
符,再把字符串串里里的占位符与外部的变量量做个映射关系就好啦
name = input("请输入你的名字") age = int(input("请输入你的年龄")) job = input("请输入你的职业") print("__________info of Alex li__________") print("我的名字叫%s,年龄是%s,职业是%s" %(name,age,job))
name = input("Name:")
age = input("Age:")
job = input("Job:")
hobby = input("Hobbie:")
info = '''
------------ info of %s -----------
Name : %s
Age : %s
job : %s
Hobbie: %s
------------- end -----------------
''' %(name,name,age,job,hobby)
print(info)
%s就是代表字符串串占位符,除此之外,还有%d, 是数字占位符, 如果把上的age后的换成%d,就代表你必须只
能输⼊入数字啦
这时对应的数据必须是int类型. 否则程序会报错
使用时,需要进行行类型转换.
int(str) # 字符串串转换成int str(int) # int转换成字符串串
类似这样的操作在后还有很多
如果, 你头铁. 就不不想转换. 觉着转换很麻烦. 也可以全部都 %s. 因为任何东⻄西都可以直接转换成字符串串--> 仅限%s
现在⼜又来新问题了了. 如果想输出:
我叫xxx, 今年年xx岁了了,我们已经学习了了2%的python基础了了
这里的问题出在哪里呢? 没错2%, 在字符串串中如果使 了了%s这样的占位符. 那么所有的%都将变成占位符. 我们的2%也变成了
占位符. 而"%的"是不存在的, 这里我们需要使 %%来表示字符串串中的%.
注意: 如果你的字符串中没有使用过%s,%d站位. 那么不需要考虑这么多. 该%就%.没毛病老铁.
print("我叫%s, 今年年22岁了了, 学习python2%%了了" % '王尼玛') # 有%占位符 print("我叫王尼玛, 今年年22岁, 已经凉凉了了100%了了") # 没有占位符