Python解题目(第四十九题)

87 阅读2分钟
计算并输出任意半径的圆的面积和周长,其中圆周率的使用math库中的常数表示,输出时保留两位小数。

####输入格式及样例:

输入一个数代表半径。例如:

2.5

输出格式及样例:

以保留两位小数的格式输出周长和面积。例如:

半径为2.5的圆周长为15.71,面积为19.63。
import math

radius = float(input())

circumference = 2 * math.pi * radius
area = math.pi * radius**2

output = f"半径为{radius}的圆周长为{circumference:.2f},面积为{area:.2f}。"
print(output)

输入:

2.5

输出:

半径为2.5的圆周长为15.71,面积为19.63。
import math

radius = eval(input())

circumference = 2 * math.pi * radius
area = math.pi * radius * radius

output = f"半径为{radius}的圆周长为{circumference:.2f},面积为{area:.2f}。"
print(output)

这段代码中的eval含义是什么呢?

在这段代码中,eval函数被用于将输入的字符串转换为相应的数值类型。让我们逐步解释这段代码的含义:

import math

radius = eval(input())

首先,我们导入了math模块,该模块提供了执行数学操作的功能。然后,使用input()函数从用户处获取输入的字符串。接下来,eval()函数会对获取到的输入字符串进行求值,将其解释为有效的Python表达式,并返回相应的计算结果。在这里,eval()函数将用户输入的字符串转换为数值类型,赋值给变量radius

接下来,代码继续执行计算圆的周长和面积的操作。最后,使用格式化字符串(f-string)将结果打印输出。

需要注意的是,使用eval()函数要谨慎,因为它会执行任意的Python代码。在这个例子中,我们可以相对安全地使用eval()函数,因为它只对输入的数值表达式进行求值。然而,如果用户可以输入任意的代码,就会存在安全风险。一般来说,最好使用更安全的方式来解析和转换输入,例如使用float()将字符串转换为浮点数。