拆分字符串 - 用于计算

时间:2016-10-05 09:28:56

标签: python string split

我想创建一个包含多个功能的计算器。当用户输入诸如“ADD3,DIVIDE4”之类的内容时,它将输出答案。所以我相信我必须将字符串拆分为单独处理每个部分。 到目前为止,我能找到的只是

    numb= input("What is your first numb")
    calc = input("What is your calculation")
    calc.split(', ')

但是我不知道如果拆分后每个部分如何工作。 因此,例如,如果第一个是numb = 5,然后它的'calc = ADD3,SUB4',程序将输出4.但是当它变得更复杂,有更多的计算和像DIVIDE这样的东西它仍然可以工作。 谢谢

2 个答案:

答案 0 :(得分:1)

循环计算项目。在循环中使用Switch case查找Operation并进行计算。

编辑:请参阅此link以了解python中的switch case实现。

答案 1 :(得分:0)

你可以这样做:

numb = input("What is your first numb")
calc = input("What is your calculation")
ops = calc.split(', ')

for op in ops:
    if op.lower().startswith('add'):
        number = float(op[3:])
        numb += number
    elif op.lower().startswith('sub'):
        number = float(op[3:])
        numb -= number
    elif op.lower().startswith('divide'):
        number = float(op[6:])
        numb /= number
print(numb)

所以你在这里做的是:

  • 确定操作(op.lower()。startswith(operation)),. lower()使其不区分大小写
  • 通过使用字符串切片选择字符串的其余部分来查找数字(op [3:]或op [6:])
  • 对麻木
  • 执行操作

注意:这按照输入顺序进行操作,而不是按照PEMDAS操作顺序进行操作!