gpt4 book ai didi

python - 编写一个函数,通过添加字符以某种方式修改某个字符串

转载 作者:行者123 更新时间:2023-12-03 14:00:22 24 4
gpt4 key购买 nike

我必须编写一个接受字符串的函数,并将返回带有添加“星号”或“*”符号的字符串以表示乘法。

正如我们所知,4(3) 是另一种显示乘法的方式,以及 4*3 或 (4)(3) 或 4*(3) 等。无论如何,我的代码需要通过在4 和 3 当乘法显示为 WITH PARENTHESIS 但没有乘法运算符“* ”时。

一些例子:

  • "4(3)"-> "4*(3)"
  • "(4)(3)"-> "(4)*(3)"
  • "4*2 + 9 -4(-3)"- > "4*2 + 9 -4*(-3)"
  • "(-9)(-2) (4)"-> "(-9)*(2) *(4)"
  • "4^(3)"-> "4^(3)"
  • "(4-3)(4+2)"-> "(4-3)*(4+2)"
  • "(Aflkdsjalkb)(g)"-> "(Aflkdsjalkb)*(g)"
  • "g(d)(f)"-> "g*(d)*(f)"
  • "(4) (3)"-> "(4)*(3)"

  • 我不太确定如何执行此操作,我正在考虑找到左括号,然后在该位置简单地添加一个“*”,但这不起作用,因此我的第三个示例的开头将输出“*(-9 )”这是我不想要的,或者我的第四个示例会输出“4^*(3)”。关于如何解决这个问题的任何想法?谢谢你。

    这是我尝试过的东西,显然它不起作用:
    while index < len(stringtobeconverted)
    parenthesis = stringtobeconverted[index]
    if parenthesis == "(":
    stringtobeconverted[index-1] = "*"

    最佳答案

    In [15]: def add_multiplies(input_string): 
    ...: return re.sub(r'([^-+*/])\(', r'\1*(', input_string)
    ...:
    ...:
    ...:

    In [16]: for example in examples:
    ...: print(f"{example} -> {add_multiplies(example)}")
    ...:
    4(3) -> 4*(3)
    (4)(3) -> (4)*(3)
    4*2 + 9 -4(-3) -> 4*2 + 9 -4*(-3)
    (-9)(-2) (4) -> (-9)*(-2) *(4)
    4^(3) -> 4^*(3)
    (4-3)(4+2) -> (4-3)*(4+2)
    (Aflkdsjalkb)(g) -> (Aflkdsjalkb)*(g)
    g(d)(f) -> g*(d)*(f)
    (g)-(d) -> (g)-(d)

    关于python - 编写一个函数,通过添加字符以某种方式修改某个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60858862/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com