Python 最簡單的數字相乘


風變編程第18關,快要結束了,捎帶着復習了一下前面的基礎。結果悲劇了。

打開題目是這樣的:

              比如我們想寫一個根據圓的半徑(R)來求面積(S)和周長(L)的代碼,可以畫出以下的流程圖

抬眼一看,好簡單的題目。抬手就寫:

# 如流程圖所示,求圓的面積和周長的代碼
r=input('輸入圓半徑(單位:mm): ')
# 圓周率(pi)取3.14即可
pi=3.14
s=pi*r*r
l=2*pi*r
print('圓面積為S=',s)
print('圓周長為l=',l)

 

點擊運行,悲劇了。直接報錯。

輸入圓半徑(單位:mm): 6.5
Traceback (most recent call last):
File "/home/python-class/classroom/apps-1-id-5cd9766919bbcf00015547cd/0a89a2bc-6155-2a78-ca3e-59bba4ae84fe/main.py", line 5, in <module>
s=pi*r*r
TypeError: can't multiply sequence by non-int of type 'float'

直接蒙了,什么問題?定義不對?why?為什么?

到處查,CSDN、博客園逛遍了,只知道數據類型不對,可是從哪里改呢?一咬牙,一跺腳,挨着行來。一個個試過,最后發現input()的輸入結果是字符串。於是在input前面轉換,成功。

# 如流程圖所示,求圓的面積和周長的代碼
r=float(input('輸入圓半徑(單位:mm): '))
# 圓周率(pi)取3.14即可
pi=3.14
s=pi*r*r
l=2*pi*r
print('圓面積為S=',s)
print('圓周長為l=',l)

 

運行結果:

ca3e-59bba4ae84fe/main.py
輸入圓半徑(單位:mm): 4.3
圓面積為S= 58.0586
圓周長為l= 27.004

 

 

記錄下來,主要是給自己看,以后再犯此類錯誤時候可以找到。有緣人看到也能順道解決一下。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM