So, here's a question. Learning Python sounds tempting, but I noticed that Crawl, Nethack, ADOM, and DDA were all written in C or C++ (at least according to roguebasin). Is it possible to write a game with the types of features that ADOM has using Python? What are the pros and cons of C/C++ vs python in general?
I don't know if Python was even around when the games you mention started development. There are many younger RLs which utilize Python and similar languages. In any case, C and C++ are much faster than Python, but probably not so much as to make a huge difference when writing a Roguelike. You may encounter some lag, for instance with complex AI and map generation. It would definitely be possible to write an ADOM clone in Python. I make this claim having no knowledge of C, but having used Python a bit.
Also, how long would it take someone completely ignorant of computer languages to learn python well enough that they could start making a game?
Well, you'll be writing the game from the outset, wouldn't you, learning as you go along?
When I started my first RL, I was at about the point you describe. I had already looked a bit at Python, writing some very simple programs to manipulate huge chunks of text, but was more or less a blank slate. I think if you're able to do the design part (ie. envision a rudimentary rule system), you can get your hands dirty pretty much straight away. Maybe do some exercises to get to know the basic data types (strings, integers, lists, tuples, dictionaries) and start reading about classes (object oriented programming). You'll also need some external module just to handle drawing a window, getting keyboard input and so forth (not something you want to implement from scratch, no matter how idiosyncratic you are). libtcod might actually be worth looking into, although I use pygame myself, which is really simple if you need it to be, but still supports some advanced stuff you might want later. In addition to a basic Python tutorial to get a feel for the language, the official documentation really contains all you need to know. Same goes for pygame: Get started by googling specifics like "pygame draw sprite" or "pygame keyboard input" – just cut and paste the code you need – and then rely on the official documentation.
I think my very first attempt with python (before I threw pygame into the mix) was at a character creation interface, that I threw away. Then I looked up pygame, and had a "@ walking around an empty map" within a few days. I started from scratch several times, scrapping months worth of development at a time, but after a year or two I had a working game of about the scale you mention: a simple dungeon crawler with enough stuff to make it feel worthwhile. I decided to abandon the game three years ago, just about when it could have started to become interesting, but at least I learned enough from the process to feel comfortable with python and pygame.
As always,
Minotauros