zoukankan      html  css  js  c++  java
  • python系列十三:Python3 输入输出

    #!/usr/bin/python

    #Python3 输入输出

    import math
    '''
    输出格式美化
    Python两种输出值的方式: 表达式语句和 print() 函数。
    第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。
    如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。
    如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。
        str(): 函数返回一个用户易读的表达形式。
        repr(): 产生一个解释器易读的表达形式。
    '''
    #  repr() 函数可以转义字符串中的特殊字符
    str1 = "hello world "
    print(str1)
    print(str(str1))
    print(repr(str1))
    # repr() 的参数可以是 Python 的任何对象
    print(repr(("zhangsan", 1,2,[4,5],{"name":"lisi"})))

    '''
    字符串对象的 rjust() 方法, 它可以将字符串靠右, 并在左边填充空格。
    还有类似的方法, 如 ljust() 和 center()。 这些方法并不会写任何东西, 它们仅仅返回新的字符串。
    '''
    for x in range(1, 11):
        print(repr(x).rjust(2), repr(x*x).rjust(3), repr(x*x*x).rjust(4))

    #另一个方法 zfill(), 它会在数字的左边填充 0
    print("3.14".zfill(7))

    '''
    str.format() 的基本使用:
    括号及其里面的字符 (称作格式化字段) 将会被 format() 中的参数替换。
    在括号中的数字用于指向传入对象在 format() 中的位置
    '''
    for x in range(1, 11):
        print("{0:2d} {1:3d} {2:4d}".format(x, x**2, x**3))
        
    #如果在 format() 中使用了关键字参数, 那么它们的值会指向使用该名字的参数。
    print("name:{name}, age: {age}".format(name="zhangsan", age=12))

    #位置及关键字参数可以任意的结合,关键字之后必须都为关键字,不然没法识别关键字而报错,即关键字在后面,数字在前面
    print("my name is {0}, sex is {1}, age is {age}, i {words}".format("lisi", "boy", age = 15, words = "love my parents"))
    print("my name is {0}, sex is {sex}, age is {age}, i {words}".format("lisi", sex = "boy", age = 15, words = "love my parents"))

    #位置及关键字参数可以任意的结合,关键字之后必须都为关键字,不然没法识别关键字而报错,即关键字在后面,数字在前面
    print("my name is {0}, sex is {1}, age is {age}, i {words}".format("lisi", "boy", age = 15, words = "love my parents"))
        
    #'!a' (使用 ascii()), '!s' (使用 str()) 和 '!r' (使用 repr()) 可以用于在格式化某个值之前对其进行转化:
    print("math.pi is {!r}".format(math.pi))
    print("math.pi is {!s}".format(math.pi))    
        
    #可选项 ':' 和格式标识符可以跟着字段名。 这就允许对值进行更好的格式化
    print("math.pi is {0:.3f} or {1:.5f}".format(math.pi, math.pi))    

    #在 ':' 后传入一个整数, 可以保证该域至少有这么多的宽度。 用于美化表格时很有用
    print("math.pi is {0:5} or {1:5}".format(5, math.pi))    
        
    '''
     如果你有一个很长的格式化字符串, 而你不想将它们分开, 那么在格式化时通过变量名而非位置会是很好的事情。
    最简单的就是传入一个字典, 然后使用方括号 '[]' 来访问键值
    '''
    table1 = {"name":"zhangsan", "sex":"man", "age":20}
    print("name is {0[name]}, sex is {0[sex]}, age is {0[age]}".format(table1))#记得括号中要加0,意思是format的第1个参数,不然报错没有那么多元组参数
        
    '''
    旧式字符串格式化
    % 操作符也可以实现字符串格式化。 它将左边的参数作为类似 sprintf() 式的格式化字符串, 而将右边的代入,
    然后返回格式化后的字符串.最终会从该语言中移除, 应该更多的使用 str.format().
    '''
    print("math.pi is %8.5f" % math.pi)
        
    '''
    读取键盘输入
    Python提供了 input() 置函数从标准输入读入一行文本,默认的标准输入是键盘。
    '''
    age = input("请输入你的年龄:")
    print("age is ", age)

    #input() 默认输入的为 str 格式,若用数学计算,则需要转换格式
    str1 = input("请输入一个数字:")
    print(str1*2)

    str1 = int(input("请输入一个数字:"))
    print(str1*2)

  • 相关阅读:
    HDOJ1003 MaxSum【逆推】
    HDOJ1698 Just a hook【线段树成段更新lazy标志】武科大ACM暑期集训队选拔赛4题
    HDOJ1102 Constructing Roads【最小生成树】武科大ACM暑期集训队选拔赛1题
    POJ2828 Buy Tickets【线段树,逆序遍历】
    HDOJ1215 ( 七夕节 )【居然还可以这么解~】
    HDOJ1089HDOJ1096【格式练习】
    HDOJ1233 ( 还是畅通工程 ) 【最小生成树,kruscal】
    HDOJ1035 ( Robot Motion ) 【递归】
    POJ3468 A Simple Problem with Integers【线段树 成段更新+求和 lazy标志】
    HDOJ1216 Assistance Required【打表】武科大ACM暑期集训队选拔赛7题
  • 原文地址:https://www.cnblogs.com/hejing-swust/p/8295607.html
Copyright © 2011-2022 走看看