本文介绍了函数参数中的Python数学符号?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道是否有办法将数学符号添加到函数参数中。
def math(x, y, symbol):
answer = x 'symbol' y
return answer
这是我所指的一个小例子。
编辑: 以下是整个问题def code_message(str_val, str_val2, symbol1, symbol2):
for char in str_val:
while char.isalpha() == True:
code = int(ord(char))
if code < ord('Z'):
code symbol1= key
str_val2 += str(chr(code))
elif code > ord('z'):
code symbol1= key
str_val2 += str(chr(code))
elif code > ord('A'):
code symbol2= key
str_val2 += str(chr(code))
elif code < ord('a'):
code symbol2= key
str_val2 += str(chr(code))
break
if char.isalpha() == False:
str_val2 += char
return str_val2
我需要多次调用该函数,但有时用+/-表示第一个符号,有时用+/-表示第二个符号
原码:
def code_message(str_val, str_val2):
for char in str_val:
while char.isalpha() == True:
code = int(ord(char))
if code < ord('Z'):
code -= key
str_val2 += str(chr(code))
elif code > ord('z'):
code -= key
str_val2 += str(chr(code))
elif code > ord('A'):
code += key
str_val2 += str(chr(code))
elif code < ord('a'):
code += key
str_val2 += str(chr(code))
break
if char.isalpha() == False:
str_val2 += char
return str_val2
推荐答案
不能将运算符传递给函数,但可以传递operator
库中定义的运算符函数。因此,您的函数将如下所示:
>>> from operator import eq, add, sub
>>> def magic(left, op, right):
... return op(left, right)
...
示例:
# To Add
>>> magic(3, add, 5)
8
# To Subtract
>>> magic(3, sub, 5)
-2
# To check equality
>>> magic(3, eq, 3)
True
注意:我使用Function Asmagic
而不是math
,因为math
是默认的python库,使用预定义的关键字不是好的做法。
这篇关于函数参数中的Python数学符号?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!