【python學習】2-python基礎知識
阿新 • • 發佈:2018-12-19
的今天繼續學習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