2017-06-20 20 views
-1

私は、毎日何回かのプッ​​シュアップと腹筋の割り当てを行う非常に単純な関数を作成しています。コードは以下の通りである:新しい変数を変数に代入する方法

import random 

def exercise_rep_num(): 
    situps = random.randint(50,75) 
    situps_feedback = 'You need to do %s situps today!' % situps 
    print(situps_feedback) 

    pushups = random.randint(25,65) 
    pushups_feedback = 'You need to do %s pushups today!' % pushups 
    print(pushups_feedback) 

    if situps >= 70: 
     print("Making it easier...") 
     pushups = random.randint(25,40) 
     print(pushups_feedback) 

    elif pushups >= 60: 
     print("Making it easier...") 
     situps = random.randint(30,60) 
     print(situps_feedback) 

    elif pushups >= 60 and situps >= 70: 
     print("Making it easier... Hooray! No workout tofay :)") 

exercise_rep_num() 

私は関数が「if文」開始後、「pushups_feedback」と「situps_feedback」の値を変更できるようにしたいです。例えば、私は71の "situps"値を得たので、プッシュアップ値はおそらく減少しました。しかし、関数は以前の値と同じ値として "pushups_feedback"を出力しました。助言がありますか?

+2

あなたは 'pushups'を設定し、' pushups_feedback'を印刷しています。 – Barmar

答えて

0

その後、すべてのワークアウト

def feedback(workout, amt): 
    return 'You need to do %d %s today!' % (amt, workout) 

のための "ショートカット" を作るためにそのようなメソッドを定義することができますそのときの変数をテンプレートに追加します。変数との関係を覚えていないので、変数を再割り当てしても文字列は更新されません。

メッセージを表示する関数を記述し、その関数を両方の場所で呼び出すことができます。

def print_pushups(pushups): 
    pushups_feedback = 'You need to do %s pushups today!' % pushups 
    print(pushups_feedback) 
def print_situps(situps): 
    situps_feedback = 'You need to do %s situps today!' % situps 
    print(situps_feedback) 

def exercise_rep_num(): 
    situps = random.randint(50,75) 
    situps_feedback = 'You need to do %s situps today!' % situps 
    print(situps_feedback) 

    pushups = random.randint(25,65) 
    pushups_feedback = 'You need to do %s pushups today!' % pushups 
    print(pushups_feedback) 

    if situps >= 70: 
     print("Making it easier...") 
     pushups = random.randint(25,40) 
     print_pushups(pushups) 

    elif pushups >= 60: 
     print("Making it easier...") 
     situps = random.randint(30,60) 
     print_situps(situps) 

    elif pushups >= 60 and situps >= 70: 
     print("Making it easier... Hooray! No workout tofay :)") 

exercise_rep_num() 
0

文字列が置換される変数を「覚えていない」ため、量を更新した後に文字列を再フォーマットする必要があります。

pushups = random.randint(25,40) 
print('You need to do %s pushups today!' % pushups) 

また、あなたがpushups_feedbackに割り当てた場合、それは置き換え

print(feedback('pushups', random.randint(25,40))) 
関連する問題