Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

OOP Python vragen om user input dmv functie

Pagina: 1
Acties:
  • 170 views

Verwijderd

Topicstarter
# Critter Caretaker
# A virtual pet to care for

class Critter(object):
def __init__(self, name, hunger = 0, boredom = 0):
self.name = name
self.hunger = hunger
self.boredom = boredom


def __pass_time(self):
self.hunger += 1
self.boredom += 1

@property
def mood(self):
unhappiness = self.hunger + self.boredom
if unhappiness < 5:
m = "happy"
elif 5 <= unhappiness <= 10:
m = "okay"
elif 11 <= unhappiness <= 15:
m = "frustrated"
else:
m = "mad"
return m

def talk(self):
print("I'm", self.name, "and I feel", self.mood, "now.\n")
self.__pass_time()

def eat(self, food = 4):
print("Brruppp. Thank you.")
self.hunger -= food
if self.hunger < 0:
self.hunger = 0
self.__pass_time()

def play(self, play = 3):
print("Wheee!")
self.boredom -= fun
if self.boredom < 0:
self.boredom = 0
self.__pass_time()


def main():
crit_name = input("What do you want to name your critter?: ")
crit = Critter(crit_name)

choice = None
while choice != "0":
print \
("""
Critter Caretaker

0 - Quit
1 - Listen to your critter
2 - Feed your critter
3 - Play with your critter
""")

choice = input("Choice: ")
print()

# exit
if choice == "0":
print("Good-bye.")

# listen to your critter
elif choice == "1":
crit.talk()

# feed your critter
elif choice == "2":
crit.eat()

# play with your critter
elif choice == "3":
crit.play()

# some unknown choice
else:
print("\nSorry, but", choice, "isn't a valid choice.")


main()
("\n\nPress the enter key to exit.")


Hi,

Ik wil graag de functie def eat() editen waardoor hij user input accepteert. Ik probeer dat via het onderstaande:

def eat(self, food = 4):
food = input("Enter number 1-4 for food")
self.hunger -= food
if self.hunger < 0:
self.hunger = 0
self.__pass_time()


Geef mij de volgende error:
self.hunger -= self.inputfood
TypeError: unsupported operand type(s) for -=: 'int' and 'method

What am I doing wrong?

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Allereerst welkom op het forum. Op deze manier is je code totaal niet leesbaar, door gebruik te maken van code tags word dat een stuk beter ( Hoe post je code? / Hoe gebruik je de code tag? )

Verder verwachten we dat je zelf wat meer inzet toont. Maak bijvoorbeeld een kleine testcase voor wat je wil bereiken, en leg uit wat je allemaal al geprobeerd hebt, en waarom dat niet wilde werken. Dan hoef je alleen de relevante delen hier te posten, dat scheelt mensen een hoop lezen, en daardoor zul je eerder reactie krijgen. Op deze manier dump je alleen je code, en vraag je hoe je het op kunt lossen. Dit topic gaat dan ook op slot, maar open gerust een nieuw topic. Lees eerst wel even Programming FAQ - Scriptrequests en Programming Beleid - De "quickstart" door zodat je weet wat we van een topic verwachten.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Dit topic is gesloten.