美文网首页
算法及格式化

算法及格式化

作者: ALuckyLive | 来源:发表于2020-08-20 17:42 被阅读0次
    Python格式缩进一般为四个空格,代码段不能复制粘贴,否则空格将失效
    #print absoute value of an integer
    a = 100
    if a >= 0:
        print (a)
    else:
        print (-a)
    
    100
    
    a = 'ABC'
    b = a
    a = 'XYZ'
    print (b)
    print (a)
    
    
    ABC
    XYZ
    

    除法取浮点数

    10/3
    
    3.3333333333333335
    
    除法取整数
    
    3.0
    
    10//3
    
    3
    

    取余数

    10%3
    
    1
    
    r---不转义,\n换行,''''''---换行时可以使用
    
    n = 123
    f = 456.789
    s1 = 'Hello, world'
    s2 = 'Hello, \'Adam\''
    s3 = r'Hello, "Bart"'
    s4 = 'Hello\n"Bart"'
    s5 = r'''Hello,
    isa!,
    sss'''
    
    print (n)
    print (f)
    print (s1)
    print (s2)
    print (s3)
    print (s4)
    print (s5)
    
    123
    456.789
    Hello, world
    Hello, 'Adam'
    Hello, "Bart"
    Hello
    "Bart"
    Hello,
    isa!,
    sss
    

    字符编码转换,字符转换编码ord(),编码转换字符chr()

    ord('a')
    
    97
    
    ord('A')
    
    65
    
    chr(97)
    
    'a'
    
    chr(65)
    
    'A'
    
    ord('白')
    
    30333
    
    ord('云')
    
    20113
    
    ord('飞')
    
    39134
    
    chr(30333)
    
    '白'
    
    'ABC' .encode('ascii')
    
    b'ABC'
    
    '中文' .encode('utf8')
    
    b'\xe4\xb8\xad\xe6\x96\x87'
    
    '中文' .encode('GB2312')
    
    b'\xd6\xd0\xce\xc4'
    
    '中文' .encode('ascii')
    
    ---------------------------------------------------------------------------
    
    UnicodeEncodeError                        Traceback (most recent call last)
    
    <ipython-input-42-be6ab0d213fc> in <module>()
    ----> 1 '中文' .encode('ascii')
    
    
    UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
    
    • UTF-8格式保存输出
    #/usr/bin/env
    #-*- coding: utf-8 -*-
    
    print ('中文测试')
    
    中文测试
    

    格式化输出字符串

    'hello,%s' %'world'
    
    'hello,world'
    
    'Hi,%s,you have $%d.' %('lili',1000)
    
    'Hi,lili,you have $1000.'
    
    %使用来格式化字符串的,%s表示用字符串替换,%d表示用整数替换,%f表示替换浮点数,%x表示替换十六进制数
    
    其中格式化整数和浮点数可以指定是否补0和整数、浮点数的位数
    
    print ('%2d-%02d' % (3,1)) 
    
     3-01
    
    print ('%.2f' % 3.1425679)
    
    3.14
    
    %s可以把任何的数据类型转换为字符串类型,不会使用以上的类型替换,可以使用%s来替换
    
    'Age: %s, Gender %s' %(25,'True')
    
    'Age: 25, Gender True'
    
    • %为普通字符时,需要转义,需要用%%来代替
    'growth rate %d%%' % 7
    
    'growth rate 7%'
    

    另一种格式化方法

    format()
    使用format()方法,它会用传入的参数一次替换字符串内的占位符{0}、{1}......,这种方法比%麻烦的多
    
    'hello,{0},成绩提升了{1:.1f}%'.format('小明',17.234)
    
    'hello,小明,成绩提升了17.2%'
    

    小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,并用字符串格式化显示出'xx.x%',只保留小数点后1位:

    s1=72
    s2=85
    print ('%.2f'%((s2-s1)/72))
    
    
    0.18
    
    s1=72
    s2=85
    r=(s2-s1)/72
    print (r)
    print ('%.2f'%r)
    
    0.18055555555555555
    0.18
    
    
    

    相关文章

      网友评论

          本文标题:算法及格式化

          本文链接:https://www.haomeiwen.com/subject/hfdejktx.html