1. 程式人生 > >【python學習】2-python基礎知識

【python學習】2-python基礎知識

的今天繼續學習python,在實現下列問題時遇到點小問題

輸入半徑,輸出面積即周長

我剛開始是這樣寫的 

import math

r = input('請輸入半徑:')
print( '周長是:'+ 2 * math.pi * r)
print('面積是:',+ r * math.pi **2)

結果報錯:

請輸入半徑:3
Traceback (most recent call last):
 
    print( '周長是:',2 * math.pi * r)
TypeError: can't multiply sequence by non-int of type 'float'

百度了一下

上面的作者說這個錯是因為

原因:input()函式輸入的是字串格式,所以自己在鍵盤輸入的整數其實並不是正整數,而是字串形式。所以在執行語句num3=num*num會報錯。因為num1和num2都是字串形式,不可以相乘。

所以將程式碼改為:

import math

r = float(input('請輸入半徑:'))
print( '周長是:'+ 2 * math.pi * r)
print('面積是:'+ r * math.pi **2)

 仍然報錯:

請輸入半徑:2
Traceback (most recent call last):

    print( '周長是:'+ 2 * math.pi * r)
TypeError: must be str, not float

說是結果必須是float,後來發現是因為print時加了‘+’,將其改為‘,’後,無報錯,結果正確。

import math

r = float(input('請輸入半徑:'))
print( '周長是:', 2 * math.pi * r)
print('面積是:', r * math.pi **2)

 結果:

請輸入半徑:2
周長是: 12.566370614359172
面積是: 19.739208802178716