|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
自己写个小代码需要设置大量的循环判断。所以想自建函数。
比如
def xxhpd(a,b,c):
for i in range(len(a)):
if *******:
break
b为比较运算符 c为符合条件
>< == 这几个运算符如何设别变量呢?
本帖最后由 hrp 于 2020-10-29 10:22 编辑
看你的示例,a应该是一个可迭代对象,暂且认为a是一个列表吧,"if xxx: break"意思应该是当a中有符合条件的值时,立即中断,不再对a中剩余的值进行判断(但你的函数没有返回任何值,判断没有意义,我猜测应该要返回a中符合条件的值或者返回True/False),结合楼上的方法,可以这样写:
- from operator import gt, lt, eq
- # 创建一个字典,不同符号对应不同操作符函数,可自行添加
- op = {'>':gt, '<':lt, '==':eq}
- def xxhpd(a,b,c):
- for i in a:
- # op.get(b, eq)是从op字典里取出b对应的函数
- # 如果b不存在字典中,则默认返回eq函数
- # 例如op.get('>', eq)返回的就是gt,整个if表达式就是if gt(i, c)
- if op.get(b, eq)(i, c):
- # 如果将i代入表达式,表达式返回值为True,则把i返回(或者修改为返回True),退出判断
- return i
- # a中没有符合条件的值则返回None(也可以修改为return False)
- return # 这句不写也是返回None,我是为了写上面这句注释才写这句return的
-
- a = [1,2,3,4,5,6]
- print(xxhpd(a, '>', 3))
- # >>> 4
复制代码
|
|