本题目要求计算下列分段函数f(x)的值:
输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。
输入样例1:
10
输出样例1:
f(10.0) = 0.1
输入样例2:
0
输出样例2:
f(0.0) = 0.0
方法一:
def f(x): #自定义函数f(x)
if x ==0:
result = 0
else:
result = 1/x
return result
x = float(input()) #输入x
print("f({0:.1f}) = {1:.1f}".format(x,f(x))) #输出
这种方法是先用自定义函数def来自定义一个函数f(x),当m值为0时,返回的结果result为0,x的值不为0的时候返回结果1除以x。
定义完函数以后通过输入x的值,输出结果。
因为要求x与result都保留一位小数,所以使用了format函数。
{0:.1f} 输出下标为为0的字符,保留1位小数。
{1:.1f}输出下标为1的字符,保留1位小数。
{0:.1f}中0表示取”f({0:.1f}) = {1:.1f}”.format(x,f(x))里面format(x,f(x)中的第一个字符x的值;
{0:.1f}中.1f表示保留1位小数,遵循四舍五入原则,小于等于四被舍去,大于等于五会进一位
{1:.1f}中1表示取”f({0:.1f}) = {1:.1f}”.format(x,f(x))里面format(x,f(x))中的第二个字符f(x)的值;
方法二:
a = float(input()) #输入
if a == 0:
x = 0
else:
x = 1 / a
print("f({0:.1f}) = {1:.1f}".format(a,x)) #输出
这种方法就是不定义函数,直接用使用if语句。对于单次做题来说,是这样方便打的代码也少。如果在项目里要多次使用这个模板,用def自定义好会省力很多。原理同上,不再重复,本方法只是展示更简单方便的方式。