pythonmaksВ питоне while True лучше использовать только там, где без этого не обойтись вообще, большой риск, что приложение зациклится, если с условием будет что-то не так. Сразу из двух циклов выйти не выйдет, break срабатывает только для одного цикла.
d нужно относить к for, так как d изменяется только в for. Попробуйте открыть PyCharm или подобный IDE и построчно в дебаггере посмотреть как циклы работают.