If… else-Anweisung tritt bei raw_input unter Python auf

Ich verfolge derzeit Zed Shaws Buch über Python, Lerne Python auf die harte Tour und lerne etwas über Funktionen. Ich beschloss, einige der zusätzlichen Kreditübungen zu befolgen, die mit der Lektion einhergingen, und fügte eine IF ELSE-Ablauferklärung hinzu. Dies ist der Code, den ich unten habe.

print "How much bottles of water do you have?"
water = raw_input("> ")

print "How many pounds of food do you have?" 
food = raw_input("> ")

if food == 1:
    def water_and_food(bottles_of_water, food):
        print "You have %s bottles of water" % bottles_of_water
        print "And %s pound of food" % food

else:
    def water_and_food(bottles_of_water, food):
        print "You have %s bottles of water" % bottles_of_water
        print "And %s pounds of food" % food

water_and_food(water, food)

Was ich tun möchte ist das. Wenn der Benutzer 1 Pfund Lebensmittel eingibt, wird "Sie haben 1 Pfund Lebensmittel" angezeigt. Wenn er 2 Pfund Lebensmittel oder mehr eingibt, wird "Sie haben 2 Pfund Lebensmittel" angezeigt, die Differenz von Pfund Singular oder Plural sein.

Wenn ich jedoch 1 eingebe, wird immer noch "Sie haben 1 Pfund Lebensmittel" angezeigt. Wenn ich jedoch den Variablen Wasser und Lebensmittel direkt eine Nummer zuordnet, funktioniert dies.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage