Naming conventions are a strong part of gDS. The existing code generator requires them.
See the schema for the first case study:
The naming conventions in the schema are obvious I believe. Given the conventions then, the following is possible:
animalRef = int(input("Enter the animal number to work with: "))
The reference above is dense, expressive, concise. You don't find the need to write that kind of expression often but it does "flow". I have found ordinary code to do ordinary things to be relatively readable. It's easy for the eye to scan the code and ensure the references are of the correct type. Again, this is only to be used in places where you don't need all the abilities of a DBMS.