我最近一直在使用进口的乌龟和三角函数来搞砸:
turtle.goto((x/math.pi)*wavelength,(ypos/10)+math.sin(x)*amplitude)
(这只是我的代码的一部分,并且x的位置无关紧要。)
(ypos / 10)+ math.sin(x)*幅度
可以很容易地改制成以下标准公式:
y = b + mx(* z为幅度)
我想知道的是,如何将运算符输入变量,并用不同的符号替换加法或乘法?我已经尽力了。
编辑:这些运算符是否是任何特定的数据类型?我也找不到任何东西。
答案 0 :(得分:0)
我如何将运算符输入变量并替换加法 或与其他符号相乘?
我建议您探索Python的operator.py模块。这是一个简单的示例,仅显示了四个基本的计算器操作:
import operator
from random import randint
operations = {
'+': operator.add,
'-': operator.sub,
'*': operator.mul,
'/': operator.truediv,
}
a, b = randint(0, 100), randint(0, 100)
while True:
operation = input("Enter an operation (+, -, * , / or 'quit') ")
if operation in operations:
c = operations[operation](a, b)
print("{} {} {} = {}".format(a, operation, b, c))
elif operation == 'quit':
break
else:
print("try again")
您不应该考虑的是eval
。您不应该将代码只开放给任何东西,而应该开放一些合理且安全的预定义操作集。
用法
> python3 test.py
Enter an operation (+, -, * or /) +
25 + 97 = 122
Enter an operation (+, -, * or /) -
25 - 97 = -72
Enter an operation (+, -, * or /) *
25 * 97 = 2425
Enter an operation (+, -, * or /) /
25 / 97 = 0.25773195876288657
Enter an operation (+, -, * or /) quit
>