如何让 Python 计算出用户给定半径的圆的面积

How to get Python to work out the area of a circle given the radius by a user

我可以先说我对这整个 Python 和编码的东西都是新手吗

这是我的代码:

pi = 3.14159265

choice = input ("Enter a number between 1-5:")
choice = int (choice)

if choice == 1:
    radius = (input ("Enter x:")
    area = ( radius ** 2 ) * pi
    print ("The Area of the circle is, " =area)

if choice == 2:
    radius = (input ("Enter x:")
    area = ( radius ** 2 ) * pi
    print ("The Area of the circle is, " =area)

if choice == 3:
    radius = (input ("Enter x:")
    area = ( radius ** 2 ) * pi
    print ("The Area of the circle is, " =area)

我总是在每个 area = ( radius **2 ) * pi 处收到语法错误 我想知道为什么这种情况一直发生以及解决它的解决方案是什么,看到我对此很陌生,它可能快速而简单,我真的很愚蠢。

无论如何,谢谢

您的代码的问题是您将半径作为字符串读取,然后尝试对具有整数的字符串进行数学运算。

通常,当您读取用户输入时将变量转换为您希望使用的数据类型是个好主意。

这将解决您的问题:

import math
pi = math.pi

choice = input ("Enter a number between 1-5:")
choice = int (choice)

if choice == 1:
    radius = float(input ("Enter x:"))
    area = ( radius ** 2 ) * pi
    print ("The Area of the circle is, " + str(area))

if choice == 2:
    radius = float(input ("Enter x:"))
    area = ( radius ** 2 ) * pi
    print ("The Area of the circle is, " + str(area))

if choice == 3:
    radius = float(input ("Enter x:"))
    area = ( radius ** 2 ) * pi
    print ("The Area of the circle is, " + str(area))

如您所见,我稍微更改了您的打印语句,因为应该使用 + 运算符而不是 = 并且您还应该使用 [= 再次将数值转换为字符串13=]

我还建议将 math.pi 用作 π 常量,而不是对 π 值进行硬编码。

最后,我无法理解您为什么使用 3 个具有完全相同计算的案例,而您使用 3 行代码可以获得相同的结果。