Python程序设计
上QQ阅读APP看书,第一时间看更新

1.5 输入及输出函数

Python输入函数是input(),输出函数是print()。

1.5.1 输入函数

input()接受从键盘输入一个字符串。'9'表示是一个字符串。

    >>> a=input()
    9
    >>> a
    '9'

如果需要输入数字,则需要用int()函数。

    >>> b=int(input("请输入一个数字:"))
    请输入一个数字:9
    >>> b
    9

input()函数的参数"请输入一个数字:"是输入的提示符。

可用split()函数在一行中输入多个值,用空格分开。

    >>> m,n=input("请输入多个值:").split()
    请输入多个值:3 5
    >>> m
    '3'
    >>> n
    '5'

1.5.2 输出函数

print()是输出函数,参数是输出值。

在程序的编写过程中,我们需要对一些程序进行注释,除了方便自己阅读外,更是为了别人能更好地理解我们的程序。“#”常被用作单行注释符号。在代码中使用“#”时,它右边的任何内容都会被忽略,当作是注释。

    >>> print(3)   #输出1个数字
    3
    >>> print(3,7) #输出2个数字
    37
    >>> a=6
    >>> print(a)   #输出1个变量
    6
    >>> b,c=3,4
    >>> print(b,c,5) #输出1个数字,2个变量
    345

print()函数缺省是执行一次换一行,如何不换行呢?

【例1-1】用3个print()函数,在同一行输出3个数“3 4 5”。

参数end=' '表示下一个print()函数接着上一个print()函数在同一行打印。

程序代码:

    #每行输出1个值
    print(3)
    print(4)
    print(5)
    #一行输出3个值
    print(3,end=' ')
    print(4,end=' ')
    print(5,end=' ')

程序输出:

       3
       4
       5
       3 4 5

【例1-2】输入三角形的三条边的长度3,4,5,求这个三角形的面积。

程序代码:

    import math    #引入数学库
    a=int(input())
    b=int(input())
    c=int(input())
    s=(a+b+c)/2
    area=math.sqrt(s*(s-a)*(s-b)*(s-c))#'*'表示乘,math.sqrt表示开根号
    print("三角形的边长:",a,b,c,end=' ')
    print("三角形的面积:",area)

程序输入:

     3
     4
     5

程序输出:

    三角形的边长:3 4 5 三角形的面积: 6.0

“#”表示注释,它右边的部分是对程序的说明,如“#引入数学库”。

要特别注意,语句块要对齐,不要随便加空格。下面程序“b=int(input())”语句前多了一个空格就错了。

    import math    #引入数学库
    a=int(input())
      b=int(input())
    c=int(input())
    s=(a+b+c)/2
    area=math.sqrt(s*(s-a)*(s-b)*(s-c))# '*'表示乘,math.sqrt表示开根号
    print("三角形的边长:",a,b,c,end='')
    print("三角形的面积:",area)
    File "<ipython-input-5-49a965827e2e>",line3
    b=int(input())
    ^
    IndentationError:unexpected indent

【例1-3】画五角形。

Python有很多库,turtle是一个绘图库,用下面程序可画五角形。

    import turtle
    turtle.forward(200)
    turtle.right(144)
    turtle.forward(200)
    turtle.right(144)
    turtle.forward(200)
    turtle.right(144)
    turtle.forward(200)
    turtle.right(144)
    turtle.forward(200)
    turtle.done()

程序输出: