• Python基础之格式化输出


    有一个需求,问用户的姓名,年龄,工作,爱好,然后打印成以下格式:

    -----------info of yangwei---------------    
    Name    : yangwei                            
    Age     : 22                                 
    Job     : IT                                 
    Hobby   : read                               
    ---------------end-------------------
    

    这种形式用字符拼接的方式还很难实现这种格式的输出,因此需要格式化输出。

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

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

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

    age     : %d
    

    但是当实际运行的时候却出错了:

    TypeError: %d format: a number is required, not str
    

    这是因为input的所有输入默认是字符串格式的。

  • 相关阅读:
    js实现复制功能 javascript
    《架构整洁之道》之组件聚合
    《架构整洁之道》之组件
    js实现导出word
    js实现导出pdf
    《架构整洁之道》之依赖反转原则
    《架构整洁之道》之接口隔离原则
    《架构整洁之道》之里氏替换原则
    解决js地址栏中传递中文乱码的问题
    Windows安装nginx服务
  • 原文地址:https://www.cnblogs.com/yang-wei/p/9544782.html
Copyright © 2020-2023  润新知