zoukankan      html  css  js  c++  java
  • 基础知识—格式化输出

    python3中的input

     inp_username=input("请输入您的密码:") # "18"
     print(inp_username)
     print(type(inp_username))
     
    age=input('your age: ') # age="18"
    age=int(age) # 前提是:字符串中包含的必须是纯数字
    print(type(age))
    print(age > 10) # "18" > 10
    int('123123123asdf') # 报错
    

    在python2中有一个input:要求程序的使用者必须输入一个明确的数据类型(了解)

    特点是:输入什么类型,就会被直接存成什么类型,程序中无需转换直接使用就好
    
    在python2中有一个raw_input与python3的input是一模一样
    print('asdfjasdfasfasdf'
    print("my name is %s my age is" %"egon")
    
    inp_name=input('请输入您的名字:')
    inp_age=input('请输入您的年龄:')
    
    print("my name is %s my age is %s" %(inp_name,inp_age))
    

    python字符串的格式化输出

    1. %
    值按照位置与%s一一对应,少一个不行,多一个也不行
        res="my name is %s my age is %s" %('egon',"18")
        res="my name is %s my age is %s" %("18",'egon')
        res="my name is %s" %"egon"
        print(res)
    
    以字典的形式传值,打破位置的限制
        res="我的名字是 %(name)s 我的年龄是 %(age)s" %{"age":"18","name":'egon'}
        print(res)
    
    %s可以接收任意类型
        print('my age is %s' %18)
        print('my age is %s' %[1,23])
        print('my age is %s' %{'a':333})
        print('my age is %d' %18) # %d只能接收int
        print('my age is %d' %"18")
    
    2. str.format:兼容性好
    按照位置传值
        res='我的名字是 {} 我的年龄是 {}'.format('egon',18)
        print(res)
    
        res='我的名字是 {0}{0}{0} 我的年龄是 {1}{1}'.format('egon',18)
        print(res)
    
    打破位置的限制,按照key=value传值
        res="我的名字是 {name} 我的年龄是 {age}".format(age=18,name='egon')
        print(res)
        
    3. f'{}' #python3.5以后才推出
        x = input('your name: ')
        y = input('your age: ')
        res = f'我的名字是{x} 我的年龄是{y}'
        print(res)
    

    了解知识

    ##填充与格式化
    先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]
    *<10:左对齐,总共10个字符,不够的用*号填充
    print('{0:*<10}'.format('开始执行')) # 开始执行******
    
    *>10:右对齐,总共10个字符,不够的用*号填充
    print('{0:*>10}'.format('开始执行')) # ******开始执行
    
    *^10:居中显示,总共10个字符,不够的用*号填充
    print('{0:*^10}'.format('开始执行')) # ***开始执行***
    2.5 精度与进制
    
    print('{salary:.3f}'.format(salary=1232132.12351))  #精确到小数点后3位,四舍五入,结果为:1232132.124
    print('{0:b}'.format(123))  # 转成二进制,结果为:1111011
    print('{0:o}'.format(9))  # 转成八进制,结果为:11
    print('{0:x}'.format(15))  # 转成十六进制,结果为:f
    print('{0:,}'.format(99812939393931))  # 千分位格式化,结果为:99,812,939,393,931
    
  • 相关阅读:
    解决CentOS(6和7版本),/etc/sysconfig/下没有iptables的问题
    centOS7在VirtualBox中装好后的网络连接问题
    [bzoj1022/poj3480]小约翰的游戏John_博弈论
    [poj2311]Cutting Game_博弈论
    [poj1704]Georgia and Bob_博弈论
    [poj2368]Buttons_博弈论
    NOIP2015 提高组合集
    NOIP2014 提高组合集
    NOIP2013 提高组合集
    NOIP2012 提高组合集
  • 原文地址:https://www.cnblogs.com/chenwenyin/p/12335409.html
Copyright © 2011-2022 走看看