Python在一行中读取计算器的多种类型
我正在制作一个计算器,用户可以在一行上键入5+8之类的内容 我知道如何从C++的观点来做这件事。我将如何从python的角度来处理这个问题。在C++中,我只使用CIN < /P>Python在一行中读取计算器的多种类型,python,python-2.7,Python,Python 2.7,我正在制作一个计算器,用户可以在一行上键入5+8之类的内容 我知道如何从C++的观点来做这件事。我将如何从python的角度来处理这个问题。在C++中,我只使用CIN < /P> 决心!查看注释。在python中,还可以使用循环和input() 编辑2:当OP使用python2时,将输入转换为原始输入。如何将操作数1设置为5、运算符设置为+、操作数2设置为9?例如,如果用户在一行中键入5+9。谢谢谢谢你的编辑。我试过你说的话,但我还是很难理解。也许你能看看我目前所拥有的,并告诉我我做错了什么吗?
决心!查看注释。在python中,还可以使用循环和
input()
编辑2:当OP使用python2时,将输入转换为原始输入。如何将操作数1设置为5、运算符设置为+、操作数2设置为9?例如,如果用户在一行中键入5+9。谢谢谢谢你的编辑。我试过你说的话,但我还是很难理解。也许你能看看我目前所拥有的,并告诉我我做错了什么吗?@mike你应该使用pastebin.org-在截图上编辑代码是非常困难的。你的代码乍一看似乎很好。它会给您带来任何错误吗?@mike在Python2.7中使用raw\u input()
,在Python3.x中使用input()
。这两个函数都返回字符串,所以您不需要str()
Hi andre,我刚刚列出了一些示例。5+8、3-2、9+4都会各自为政!为了清晰起见,我编辑了,抱歉!
>>> s='5 + 8, 3 - 2, 9 + 4, '
>>> [eval(x) for x in s.split(',') if len(x.strip())>0]
[13, 1, 13]
>>>
inp = raw_input()
op1, operator, op2 = inp.split(" ")
op1 = int(op1)
op2 = int(op2)
# use op1, operator and op2
>>> s='5 + 8, 3 - 2, 9 + 4, '
>>> [eval(x) for x in s.split(',') if len(x.strip())>0]
[13, 1, 13]
>>>