• day 2 格式化输出


    一. 格式化输出

    现在有以下需求,让用户输入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%了了") # 没有占位符
  • 相关阅读:
    bzoj 3993: [SDOI2015]星际战争
    bzoj 4066: 简单题
    bzoj 3611: [Heoi2014]大工程
    bzoj 3530: [Sdoi2014]数数
    bzoj 3529: [Sdoi2014]数表
    bzoj 3504: [Cqoi2014]危桥
    bzoj 3489: A simple rmq problem
    bzoj 3211: 花神游历各国
    bzoj 3196: Tyvj 1730 二逼平衡树
    bzoj 3172: [Tjoi2013]单词
  • 原文地址:https://www.cnblogs.com/xiaomai-rhce/p/10167015.html
Copyright © 2020-2023  润新知