Как разрешить вводить только цифры?
У строк в python есть много методов для ленивых, напишите dir('') и поизучайте, там интересно : )
Для вашего случая можно использовать метод isnumeric:>>> test = '123'
>>> test.isnumeric()
True
>>> test = 'aaa'
>>> test.isnumeric()
False
Давай ты внимательно изучишь https://learnpythonthehardway.org/book/
И большая часть твоих вопросов уйдет
Тут не будут писать за тебя программу