Вам не нужны операторы if перед циклом while.Вы можете добавить всю эту логику в цикл while и обновлять параметры населения для каждого года следующим образом:
year = 2014
print("Enter the initial China population:")
population_chn = eval(input())
print("Enter the initial Indian population:")
population_ind = eval(input())
while population_ind < population_chn:
population_chn += 0.0051*population_chn
population_ind += 0.0135*population_ind
year +=1
else:
print("Indian population will exceed china population in", (year))
Вывод, используя 1,37 для населения Chn и 1,24 в качестве населения ind:
Indian population will exceed china population in 2025
Причина, по которой ваш оператор if никогда не выполняется, заключается в том, что ваши операторы while выполняются только в том случае, если заполнение равно начальному вводу.Посмотрите на эти строки:
while population_chn == 1.37:
population_chn += 0.0051*population_chn
year +=1
while population_ind == 1.26:
population_ind += 0.0135*population_ind
year +=1
Они будут обновляться только один раз, потому что после 1 итерации ваши операторы if больше не соответствуют действительности, и после этого население никогда не обновляется.Таким образом, население Индии всегда меньше, чем население Китая, поэтому это заявление никогда не выполняется.