官术网_书友最值得收藏!

3.5 新手疑難問題解答

疑問1:通過下面的代碼求圓面積時報錯怎么辦?

    >>> a=input("請輸入半徑: ")
    請輸入半徑: 12.2
    >>> b=3.1416*a*a
    Traceback (most recent call last):
      File "<pyshell#17>", line 1, in <module>
        b=a*a
    TypeError: can't multiply sequence by non-int of type 'str'

解答:因為input()函數輸入的是字符串格式,所以在鍵盤輸入的浮點數并不是真正的浮點數,而是字符串形式。因為radius是字符串形式,不可以相乘,所以在執行語句b=3.1416*a*a時會報錯。這里使用float()函數強制將輸入的半徑值轉換為浮點數。

修改代碼如下即可解決問題。

    >>> a= float(input("請輸入半徑: "))

疑問2:如何使用range()函數?

解答:range()函數可創建一個整數列表,一般用在for循環中。語法格式如下:

    range(start, stop[, step])

各個參數的含義如下:

start:計數從start開始。默認是從0開始。例如,range(5)等價于range(0, 5)。

stop:計數到stop結束,但不包括stop。例如,range(0, 5)是[0, 1, 2, 3, 4]沒有5。

step:步長,默認為1。例如,range(0, 5)等價于range(0, 5, 1)。

大牛提醒

在使用range()函數時,如果只有一個參數,那么表示指定的stop;如果有兩個參數,則表示指定的start和stop;如果三個參數都存在時,最后一個參數是step。

如果需要遍歷數字序列,通常會用到range()函數,結合循環控制語句,將起到事半功倍的作用。

使用range()函數可以生成數列。例如:

    >>> for a in range(  5):
    print (a)
    1
    2
    3
    4

使用range()函數也可以指定區間的值。例如:

    >>> for n in range(5,9):
    print (n)
    5
    6
    7
    8

使用range()函數還可以指定數字開始并指定不同的增量。例如:

    >>> for n in range(0,10,2):
    print (n)
    0
    2
    4
    6
    8

從結果可以看出,增量為2。增量也可以使用負值。例如:

    >>>for n in range(0,-10,-2):
            print (n)
    0
    -2
    -4
    -6
    -8
主站蜘蛛池模板: 衡水市| 汉阴县| 高台县| 运城市| 高台县| 六安市| 新巴尔虎右旗| 慈利县| 昌图县| 陇西县| 阜宁县| 乃东县| 湖南省| 抚宁县| 永福县| 泉州市| 新竹市| 兴安县| 高雄市| 晋江市| 色达县| 天峻县| 藁城市| 靖江市| 鱼台县| 保亭| 丹阳市| 迁安市| 霍林郭勒市| 弥勒县| 辽宁省| 柳河县| 南宁市| 独山县| 马山县| 当阳市| 平果县| 社旗县| 南召县| 阜新市| 锦屏县|