my_property = 1000
farm= []

def monster_merchant1():
    global my_property
    global farm
    cat = 100
    rat = 50
    lizard = 200
    dog = 300
    feeble_doragon = 1000


    print("商人が来ました")
    print("なにか御入り用ですか?")
    print("1.ネズミ:{0}.2.ネコ:{1}.3.トカゲ:{2}.4.番犬:{3}.5.弱弱しいドラゴン:{4}".format(rat,cat,lizard,dog,feeble_doragon))
    print("数字を入力してください:")

    number =input()
    if number ==1:
       my_property = my_property - rat
       farm.append("ネズミ")
    elif number ==2:
        my_property = my_property -cat
        farm.append("ネコ")
    elif number ==3:
        my_property = my_property - lizard
        farm.append("トカゲ")
    elif number ==4:
        my_property = my_property - dog
        farm.append("番犬")
    elif number ==5:
        my_property = my_property -feeble_doragon
        farm.append("弱弱しいドラゴン")

    print("あなたの農場:"),
    print(farm)
    print("貴方の資産:"),
    print(my_property)


monster_merchant1()

このコードを描いたとき、最後のprint文で表示する二つの変数(farm,my_property)に関数内での操作の結果を反映させたいのですが、実際にはリストfarmには何も入っておらず、my_propertyは初期値の1000のままです.

どうすれば関数内での操作を反映できるでしょうか。初心者なので要領を得ない質問かもしれませんが、よろしくお願いします。