吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 624|回复: 3
上一主题 下一主题
收起左侧

[学习记录] JMU-Python-分段函数

[复制链接]
跳转到指定楼层
楼主
sherlockhlomez 发表于 2022-11-17 17:16 回帖奖励

JMU-Python-分段函数

要求根据以下分段函数的定义,计算输入的x对应的y值,输出结果保留两位小数;如果输入的x是非数值型数据,输出'Input Error'。注意:使用math库

输入格式:

在一行中输入x的值。

输出格式:

  按“f(x) = result”的格式输出,其中x与result都保留两位小数,注意'='两边有空格。
如果输入的x是非数值型数据,输出:Input Error

输入样例1:

4

输出样例1:

f(4.00) = 3.39

输入样例2:

-6

输出样例2:

f(-6.00) = 0.00

输入样例3:

x

输出样例3:

Input Error

Python3程序样例:

import math
x=eval(input())
c=round(x,2)
def f(x):
    if x>0:
        y=math.log(x,math.e)+math.sqrt(x)
        return round(y,2)
    elif x<=0:
        return 0
if type(x)==type(str):
    print('Input Error')
else:
    print("f(%0.2f) = %0.2f"%(x,f(x)))

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
wangwlex1988 发表于 2022-11-17 19:41
学习着,
3#
zzzzxcv 发表于 2022-11-17 23:09
type(str)的结果是<class 'type'>,所以这个判断条件并不是在判断左边类型是否是字符串类型,而是type类型(int str等的type是type,可以自己打印一下试试看)。

双等号右边可以直接写str,或者使用isinstance。不过,按照题目的意思,这里只需要判断非数值类型,不需要针对字符串进行判断,所以可以写成 if not isinstance(x, int):   或者   if type(x) != int:
4#
zzzzxcv 发表于 2022-11-17 23:14
而且前面输入时也不能用eval啊,如果真的输入字符串,eval会把这个字符串当成语句运行,基本上都会直接报错的。如果输入字符串没报错,round(x, 2)也会报错的。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-28 19:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表