Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中分解字符串_Python_String - Fatal编程技术网

在Python中分解字符串

在Python中分解字符串,python,string,Python,String,所以我正在用Python制作一个快速计算器脚本,我需要拆分一个短字符串。程序首先显示一条简短的欢迎消息,然后提示询问他们想做什么,并显示正确的格式。该功能用于进行计算,但不幸的是,我无法使字符串解析位正常工作 这是我的密码 print ("--------------------------------------") print (" ") print ("Advanced Quick Calculator") print ("By Max M, licenced under GPLv3")

所以我正在用Python制作一个快速计算器脚本,我需要拆分一个短字符串。程序首先显示一条简短的欢迎消息,然后提示询问他们想做什么,并显示正确的格式。该功能用于进行计算,但不幸的是,我无法使字符串解析位正常工作

这是我的密码

print ("--------------------------------------")
print (" ")

print ("Advanced Quick Calculator")
print ("By Max M, licenced under GPLv3")

print (" ")
print ("--------------------------------------")

statement = raw_input ("Please enter your mathematical statement [3 3 plus minus times            divide]: ")

strnum1 = statement[:1]
print ("strnum1 : " + strnum1)
#num1 = int (strnum1)

strnum2 = statement[:4]
print ("strnum2 : " + strnum2)
#num2 = int (strnum2)

operation = statement[5:11]
print ("operation : " + operation)
#if operation == "+":
#     ans = num1 + num2

#if operation == "-":
#   ans = num1 - num2

#if operation == "*":
#   ans = num1 * num2

#if operation == "/":
#   ans = num1 / num2

#print ("The answer is : "), ans

我不打算为您做家庭作业,但我会为您指出问题的答案(提示:看起来您试图在空格上拆分,而不是在链接中拆分逗号,因此请相应地调整代码)


我不会为您做家庭作业,但我会为您指出问题的答案(提示:您似乎试图在链接中拆分空格,而不是逗号,因此请相应地调整代码)


这看起来像是正则表达式的作业:

>>> import re
>>> match = re.search(r'(\d+)\s*([+*/-])\s*(\d+)', '42 + 7') 
>>> match.group(1)  # <-- num1
'42'
>>> match.group(2)  # <-- operation
'+'
>>> match.group(3)  # <-- num2
'7'
>>重新导入
>>>匹配=重新搜索(r'(\d+)\s*([+*/-])\s*(\d+),'42+7')

>>>match.group(1)#>>match.group(2)#>>match.group(3)#这看起来像是正则表达式的作业:

>>> import re
>>> match = re.search(r'(\d+)\s*([+*/-])\s*(\d+)', '42 + 7') 
>>> match.group(1)  # <-- num1
'42'
>>> match.group(2)  # <-- operation
'+'
>>> match.group(3)  # <-- num2
'7'
>>重新导入
>>>匹配=重新搜索(r'(\d+)\s*([+*/-])\s*(\d+),'42+7')

>匹配。组(1)>>匹配。组(2)>>匹配。组(3),也许你应该考虑实际解析字符串而不是使用固定偏移。请阐明正确的格式应该是什么。它是3 + 3, 3 - 3, 3和3等吗?我将从空间分割字符串开始。也许你应该考虑实际解析字符串而不是使用固定偏移。请阐明正确的格式应该是什么。是3+3、3-3、3/3等吗?我会先用空格分割字符串。你把除法运算符倒过来了,不需要在字符类中转义元字符。谢谢,我想我会用不同的输入方法。你把除法运算符倒过来了,你不需要在字符类中转义元字符。谢谢,我想我只需要使用不同的输入方法