Hi I'm working on a Python programming prompt and I am running into a bug. Here is the code prompt I'm trying to solve:

You are given a string of words and numbers. Extract the expression including:

the operator: either addition ("gains") or subtraction ("loses")
the two numbers that we are operating on
Return the result of the calculation.

Notes:
"loses" and "gains" are the only two words describing operators
No fruit debts nor bitten apples = The numbers are integers and no negatives

Here is my code that has a bug in it:

def calculate(string):
    num = 0
    for word in string.split():
        if word == 'loses':
            operator = '-'
        elif word == 'gains':
            operator = '+'
        elif word.isdigit():
            num += int(word)
    return operator + str(num)
system
Olá, estou trabalhando em um prompt de programação Python e estou encontrando um bug.Aqui está o prompt de código que estou tentando resolver:

Você recebe uma série de palavras e números.Extraia a expressão, incluindo:

O operador: adição ("ganhos") ou subtração ("perde")
os dois números em que estamos operando
Retornar o resultado do cálculo.

Notas:
"Perder" e "Gains" são as únicas duas palavras que descrevem os operadores
Sem dívidas de frutas nem maçãs mordidas = os números são inteiros e sem negativos

Aqui está o meu código que tem um bug nele:

def Calcule (string):
    num = 0
    para word em string.split ():
        Se o Word == 'perde':
            operador = '-'
        Elif Word == 'Gains':
            operador = '+'
        elif word.isdigit ():
            num += int (palavra)
    Operador de retorno + str (num)
user
Parece que a maneira como você está armazenando os dígitos depois de extraí -los da string é a abordagem errada.

def Calcule (string):
    num = [] # Use uma lista para armazenar os números
    para word em string.split ():
        Se o Word == 'perde':
            operador = '-'
        Elif Word == 'Gains':
            operador = '+'
        elif word.isdigit ():
            Num.Append (Word) #Append em vez de adicionar
    Return Eval (STR (NUM [0]) + Operador + Str (num [1])) #Come a declaração de retorno para usar a lista

1.) Altere a variável num em uma lista.Isso permite que você armazene os dois números da frase.
2.) Agora anexe o valor à lista num em vez de adicioná -lo ao NUM
3.) Por fim, avalie a expressão usando o operador que você encontrou e os dois números armazenados na lista num
assistant
<|system|>
</s>
<|user|>
Olá, estou trabalhando em um prompt de programação Python e estou encontrando um bug.Aqui está o prompt de código que estou tentando resolver:

Você recebe uma série de palavras e números.Extraia a expressão, incluindo:

O operador: adição ("ganhos") ou subtração ("perde")
os dois números em que estamos operando
Retornar o resultado do cálculo.

Notas:
"Perder" e "Gains" são as únicas duas palavras que descrevem os operadores
Sem dívidas de frutas nem maçãs mordidas = os números são inteiros e sem negativos

Aqui está o meu código que tem um bug nele:

def Calcule (string):
    num = 0
    para word em string.split ():
        Se o Word == 'perde':
            operador = '-'
        Elif Word == 'Gains':
            operador = '+'
        elif word.isdigit ():
            num += int (palavra)
    Operador de retorno + str (num)</s>
<|assistant|>
Parece que a maneira como você está armazenando os dígitos depois de extraí -los da string é a abordagem errada.

def Calcule (string):
    num = [] # Use uma lista para armazenar os números
    para word em string.split ():
        Se o Word == 'perde':
            operador = '-'
        Elif Word == 'Gains':
            operador = '+'
        elif word.isdigit ():
            Num.Append (Word) #Append em vez de adicionar
    Return Eval (STR (NUM [0]) + Operador + Str (num [1])) #Come a declaração de retorno para usar a lista

1.) Altere a variável num em uma lista.Isso permite que você armazene os dois números da frase.
2.) Agora anexe o valor à lista num em vez de adicioná -lo ao NUM
3.) Por fim, avalie a expressão usando o operador que você encontrou e os dois números armazenados na lista num</s>
