2017-01-26 11 views
1

私は「mor_score」としてセッション内の整数を格納Pythonでスキルを書いて、に整数を追加:私の意図の下記見セッションに格納された整数

{ 
    "session": { 
    "sessionId": "SessionId.REDACTED", 
    "application": { 
     "applicationId": "amzn1.ask.skill.REDACTED" 
    }, 
    "attributes": { 
     "mor_score": 0 
    }, 

一つは、追加しようの値はmor_scoreになりますが、どうやってそのようにするかわかりません。下記の意思表示のためのコード:

def choice_one(intent, session): 
    card_title = "Add It Up" 
    reprompt_text = None 
    should_end_session = False 
    if intent['slots']['ChoiceOneSlot']['value'] == 'Red': 
     mscore = session.get('attributes').get('mor_score') # currently a value of 0 
     session_attributes = {'mor_score': mscore +=2} # trying to add 2 
     speech_output = "<speak>Okay, you choose red.</speak>" 
    elif intent['slots']['ChoiceOne']['value'] == 'blue': 
     speech_output = "<speak>Yes, you choose blue.</speak>" 
    else: 
     speech_output = "<speak>Try again with an acceptable answer.</speak>" 
    return build_result(session_attributes, build_speechlet_response(
     card_title, speech_output, reprompt_text, should_end_session)) 

私はAlexaのセッションに戻って結果を返す方法を知っているが、私ははっきりとそれが返される前に、数が変数に追加することが可能なプロセスが欠けています。どんな助けでも大歓迎です。

編集:次のコードは私を分類しました!

mscore = session.get('attributes').get('mor_score') 
mscore +=2 
session_attributes = {'mor_score': mscore} 

答えて

0

mscore += 2 Pythonでのステートメントである - それは絶対式の一部として使用することはできません。これを単独で行に入れてから式の中でmscoreを使用するか、式の中でmscore + 2を使用する必要があります。 2つのアプローチは、mscoreが残っている値が異なりますが、後で使用しないためここでは問題ありません。

+0

感謝しました!この値をセッションに戻して後で呼び出すことにしますが、私はそれを正しく書いたと思います。 'mscore = session.get( '属性')。get( 'mor_score') mscore + = 2 session_attributes = {'mor_score':mscore}' – AppleBaggins

関連する問題