我想計算一個圓形物體的每平方的成本,因爲它的直徑和價格。計算一個圓形物體的每平方的成本
這裏是我的了:
import math
def main():
print("This program calculates the cost per square inch of a circular object.")
diameter = eval(input("What is the diameter of the object? "))
price = eval(input("What is the price of the whole object? "))
cost_per_square = (math.pi * (diameter/2)**2)/price
print("The cost per square inch is $", round(cost_per_square, 2), sep="")
main()
我不擅長數學,所以我想,如果公式是正確的?
我想警告你反對eval(input())調用 - 用戶可以輸入一些有效的python代碼,它將在評估過程中執行。使用float(input()) –
更安全謝謝我沒有意識到這一點,我剛開始Python。 – onimojo
eval和exec都會執行給定的任何字符串,(eval期望結果是一個值)。當你的代碼生成代碼然後爲你運行時,這是非常強大的__但___當_else_可以提供字符串時,它也是___令人難以置信的危險_因此你需要避免將它們從外部世界中調用。 –