2015-02-21 3 views
2

Я новичок в Python и программирую вообще, поэтому понимаю только ограниченное количество терминов ... У меня возникли проблемы с добавлением в мой цикл while. Он добавляет все, кроме моего первого MoreExp. Я пытался понять это часами, поэтому я действительно потерял терпение. Если бы кто-нибудь мог любезно объяснить, почему это не добавит все мое MoreExp, которое было бы очень признательно!Python Loops-Adding

#Loop to determine expenses 
while MoreExp != "0": 
    MoreExp = input("Enter more expenses. If no more, enter '0': ") 
    TotalExp += int(MoreExp) 
if MoreExp is "0": 
    AmountLeft = int(TotalIncome) - int(TotalExp) 

TotalExp = int(TotalExp) + int(Expenses) 
AmountLeft = int(TotalIncome) - int(TotalExp) 

#Output total spent and amount leftover 
print("Total amount spent from income: $", TotalExp) 
print("Total amount left over after expenses: $", AmountLeft) 

Так я получаю это как мой результат:

What is your monthly income? 100 
Enter your expenses: 5 
Enter more expenses. If no more, enter '0': 10 
Enter more expenses. If no more, enter '0': 6 
Enter more expenses. If no more, enter '0': 0 
Total amount spent from income: $ 11 
Total amount left over after expenses: $ 89 

Я просто понял это !! Я случайно попросил пользователя MoreExp прямо перед запуском моего цикла, чтобы он не добавлял его в мой TotalExp. Спасибо тем, кто помогал! Извините за путаницу ..

+0

Это не кажется, что весь ваш фрагмент кода. Где строки, которые запрашивают ваш ежемесячный доход и первый набор расходов? Если бы я мог догадаться, я предполагаю, что вы не установили значение «TotalExp» в значение первого набора затрат перед входом в цикл «while MoreExp». – nelfin

ответ

0

Извините, что я перечеркнула весь ваш код, но ЭТО РАБОТАЕТ СЕЙЧАС!

Tot=input("Enter Income:") 
NetInc=Tot 
NetXpense=0 
c = 0 
while (c==0): 
    Xpense=input("Enter your expenses:") 
    NetXpense+=int(Xpense) 
    if (int(Xpense)==0): 
     c=1 
NetInc = int(Tot)-NetXpense 
print("Expenditure:",NetXpense) 
print("Net Income:",NetInc) 

Попробуйте это и дайте мне знать :)

+0

Я действительно допустил ошибку до начала моей петли, которую я должен был разместить в своем оригинальном посте. Но я также пробовал ваш код, и это сработало! Спасибо :) –

+0

@AlyssaDettmer haha, рад, что я помог :), в следующий раз опубликуйте весь код;) –

0

попробовать, как этот

MoreExp = int(input("Enter more expenses. If no more, enter '0': "))