Example output

Input validation

$ python3 farm.py
Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 7
Invalid selection. Please try again:
Enter selection: apple
Invalid selection. Please try again:
Enter selection:
Invalid selection. Please try again:
Enter selection: 3

No animals. Try adding one

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 2
Enter species: duck
Enter description: mallard

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 1

The mallard duck is very hungry

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 3

Available animals to feed:
  1. mallard duck

Please select animal to feed: 0
Invalid selection. Please try again:
Please select animal to feed: apple
Invalid selection. Please try again:
Please select animal to feed: -1
Invalid selection. Please try again:
Please select animal to feed: 2
Invalid selection. Please try again:
Please select animal to feed: 1
nom nom nom

Adding/Feeding animals

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 1

The mallard duck is a little hungry

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 2
Enter species: goat
Enter description: black american pygmy

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 1

The mallard duck is a little hungry
The black american pygmy goat is very hungry

Bed time/Over feeding

After rest, the hunger level increases by one. The hungriest level is very hungry. Sleeping does not increase the hunger in this case.

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 4

Sleep well, mallard duck
Sleep well, black american pygmy goat

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 5
Invalid selection. Please try again:
Enter selection: 1

The mallard duck is very hungry
The black american pygmy goat is very hungry

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 3

Available animals to feed:
  1. mallard duck
  2. black american pygmy goat

Please select animal to feed: 1
nom nom nom

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 3

Available animals to feed:
  1. mallard duck
  2. black american pygmy goat

Please select animal to feed: 1
nom nom nom

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 3

Available animals to feed:
  1. mallard duck
  2. black american pygmy goat

Please select animal to feed: 1
The mallard duck is full and must sleep before eating again

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 3

Available animals to feed:
  1. mallard duck
  2. black american pygmy goat

Please select animal to feed: 2
nom nom nom

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 3

Available animals to feed:
  1. mallard duck
  2. black american pygmy goat

Please select animal to feed: 2
nom nom nom

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

More interaction

Enter selection: 1

The mallard duck is well fed
The black american pygmy goat is well fed

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 4

Sleep well, mallard duck
Sleep well, black american pygmy goat

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 2
Enter species: cat
Enter description: dilute calico

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 1

The mallard duck is a little hungry
The black american pygmy goat is a little hungry
The dilute calico cat  is very hungry

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 3

Available animals to feed:
  1. mallard duck
  2. black american pygmy goat
  3. dilute calico cat

Please select animal to feed: 2
nom nom nom

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 1

The mallard duck is a little hungry
The black american pygmy goat is well fed
The dilute calico cat  is very hungry

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 4

Sleep well, mallard duck
Sleep well, black american pygmy goat
Sleep well, dilute calico cat

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 1

The mallard duck is very hungry
The black american pygmy goat is a little hungry
The dilute calico cat  is very hungry

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 3

Available animals to feed:
  1. mallard duck
  2. black american pygmy goat
  3. dilute calico cat

Please select animal to feed: 1
nom nom nom

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 3

Available animals to feed:
  1. mallard duck
  2. black american pygmy goat
  3. dilute calico cat

Please select animal to feed: 3
nom nom nom

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 1

The mallard duck is a little hungry
The black american pygmy goat is a little hungry
The dilute calico cat  is a little hungry

Main menu:
1. List all animals
2. Add new animal
3. Feed one animal
4. Bed time
0. Quit

Enter selection: 0

Goodbye