我正在完成代码战中的kata。
我得到一个字符串,如2 / 2 3 * 4 - 6
或2 * ( 2 * ( 2 * ( 2 * 1 ) ) )
我不知道如何处理代码中的()。
目前我有:
class Calculator(object):
def evaluate(self, string):
# if () in s
# find most inner ()
s = string.split()
while len(s) > 1:
if ('/' in s or
'*' in s):
for i in range(len(s)):
if s[i] == '/':
s[i] = int(s[i-1]) / int(s[i+1])
s.pop(i-1)
s.pop(i)
break
elif s[i] == '*':
s[i] = int(s[i-1]) * int(s[i+1])
s.pop(i-1)
s.pop(i)
break
else:
for i in range(len(s)):
if s[i] == '-':
s[i] = int(s[i-1]) - int(s[i+1])
s.pop(i-1)
s.pop(i)
break
elif s[i] == '+':
s[i] = int(s[i-1]) + int(s[i+1])
s.pop(i-1)
s.pop(i)
break
return s[0]
它的功能很棒,除了字符串与()
我如何处理它们,使其遵循适当的数学规则?
我们非常感谢您的任何建议。[1]: https://www.codewars.com/kata/5235c913397cbf2508000048/train/python
您可以搜索内括号,然后使用函数计算其内容(这称为递归),并重复此操作,直到没有括号为止。
内括号是括号之间没有其他括号的括号。
本文向大家介绍如何在Python中对字符串列表进行排序?,包括了如何在Python中对字符串列表进行排序?的使用技巧和注意事项,需要的朋友参考一下 要对列表进行排序,即对列表本身进行排序并更改列表本身的顺序,可以在字符串列表中使用。例如, 如果要保持原始列表不变,而要一个新的排序元素列表,则可以使用sorted(list)。例如,
问题内容: 有没有一种简单的方法可以在Python中按字母顺序对字符串中的字母进行排序? 因此对于: 我想返回: 问题答案: 你可以做:
请检查上面的结果输出。如您所见,在之后,它显示。但是我需要显示而不是。我尝试了两种方法,但结果是一样的。 已经检查了以下问题, MySQL排序字符串号 从VARCHAR强制转换为int-MySQL
问题内容: 我有被随机放入的。 例如: 考虑到您无法控制输入的事实(即,进入ArrayList的字符串是随机的;以任何顺序排列的斑马或龙),一旦ArrayList充满了输入,我如何按字母顺序对它们进行排序(不包括第一个)? 很好 排序按字母顺序排列。 问题答案: 上面的代码将反映已排序原始列表的 实际子 列表。
我在JTable的第5列中为每行插入了一个JComboBox-Object。在我想使用对列进行行排序之前,一切都很好。在这种情况下,我得到以下异常: 下面是我在JTable中使用的类: TableModel: 在TableModel中,列5的-method返回-Object。 在TableCellEditor中,第5列中的每一行都有自己的-对象,而-方法返回相关-对象的。 因此Jtable确实有一
我在API文档中看到上有一个方法,但我不清楚参数需要什么。目前的需要是一个非常简单的直接向上的阿尔法比较。