【发布时间】:2021-04-25 18:36:15
【问题描述】:
我需要用 Python 创建一个可以执行所有这些任务的计算器。我已经用我的代码来做加法、减法、乘法和除法。有人可以告诉我要向我的代码添加什么以向我的计算器添加对数、幂、勾股定理和阶乘吗?这些是我下面计算器的所有要求。
每个数学运算都需要有自己的函数/方法: 加法 - 最多 5 个参数, 减法 - - 需要 3 个参数, 乘法 - 接受 4 个参数, 除法 - 接受 2 个参数, 日志 - 接受 1 个参数, 将数字提高到幂 ex。 X平方, 求解勾股定理, 阶乘
def calculate():
operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')
number_1 = int(input('Please enter the first number: '))
number_2 = int(input('Please enter the second number: '))
if operation == '+':
print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)
elif operation == '-':
print('{} - {} = '.format(number_1, number_2))
print(number_1 - number_2)
elif operation == '*':
print('{} * {} = '.format(number_1, number_2))
print(number_1 * number_2)
elif operation == '/':
print('{} / {} = '.format(number_1, number_2))
print(number_1 / number_2)
else:
print('You have not typed a valid operator, please run the program again.')
# Add again() function to calculate() function
again()
def again():
calc_again = input('''
Do you want to calculate again?
Please type Y for YES or N for NO.
''')
if calc_again.upper() == 'Y':
calculate()
elif calc_again.upper() == 'N':
print('See you later.')
else:
again()
calculate()
【问题讨论】:
-
一般做法是,while 循环优于递归输入解决方案,因为使用此计算器实现的用户最终会达到递归限制。
-
到目前为止所有实现的计算都采用两个参数,但您提到了各种值,例如最多 5 个用于加法。
-
欢迎来到 Stack Overflow!请拨打tour。这似乎是家庭作业。请阅读How do I ask and answer homework questions?您究竟需要什么帮助?首先,你知道如何在 Python 中做对数、幂、勾股定理和阶乘吗?应该有涵盖所有这些问题的现有问题。如果您想了解更多提示,请参阅How to Ask。
-
请不要破坏您的帖子。通过在 Stack Exchange 网络上发帖,您已在 CC BY-SA 4.0 license 下授予 Stack Exchange 分发该内容的不可撤销的权利(即无论您未来的选择如何)。根据 Stack Exchange 政策,帖子的非破坏版本是分发的版本,因此,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请参阅:How does deleting work?。
标签: python calculator