如何获取循环中已计算的总计并将它们一起添加?

时间:2013-01-16 04:00:30

标签: python-2.7

我在Python 2.7.3中创建了这个程序 我在计算机科学课上做过这个。他分两部分分配。对于第一部分,我们必须创建一个程序来计算五个客户的每月手机账单。用户输入使用的文本,分钟和数据的数量。此外,还有超额费用。超过限制的每GB数据10美元,超过限制每分钟$ .4,超过限制发送的每个文本$ .2。 500是文本消息的限制量,750是限制分钟数,2 GB是计划的限制数据量。

对于作业的第2部分。我必须计算所征收的税款总额,总收费(每个客户账单加在一起),收取的政府收费总额,超额客户总数等。

现在我需要帮助的是将所有客户账单加在一起。正如我之前所说,当您运行程序时,它会打印5个客户的总账单。我不知道如何将这些单独的总计分配给变量,将它们一起添加,然后最终将它们打印为一个大变量。

TotalBill = 0    
monthly_charge = 69.99
data_plan = 30
minute = 0
tax = 1.08
govfees = 9.12
Finaltext = 0
Finalminute = 0
Finaldata = 0
Finaltax = 0
TotalCust_ovrtext = 0
TotalCust_ovrminute = 0
TotalCust_ovrdata = 0
TotalCharges = 0

for i in range (1,6):
    print "Calculate your cell phone bill for this month"

    text = input ("Enter texts sent/received ")

    minute = input ("Enter minute's used ")

    data = input ("Enter Data used ")
    if data > 2:
        data = (data-2)*10
        TotalCust_ovrdata = TotalCust_ovrdata + 1        
    elif data <=2:
        data = 0
    if minute > 750:
        minute = (minute-750)*.4
        TotalCust_ovrminute = TotalCust_ovrminute + 1
    elif minute <=750:
        minute = 0
    if text > 500:
        text = (text-500)*.2
        TotalCust_ovrtext = TotalCust_ovrtext + 1
    elif text <=500:
        text = 0

    TotalBill = ((monthly_charge + data_plan + text + minute + data) * (tax)) + govfees 
    print ("Your Total Bill is... " + str(round(TotalBill,2))) 





print "The toatal number of Customer's who went over their minute's usage limit is... " ,TotalCust_ovrminute
print "The total number of Customer's who went over their texting limit is... " ,TotalCust_ovrtext
print "The total number of Customer's who went over their data limit is... " ,TotalCust_ovrdata

创建的一些变量未在程序中使用。请忽略它们。

1 个答案:

答案 0 :(得分:0)

正如Preet建议的那样。

创建另一个变量,如TotalBill,即

AccumulatedBill = 0

然后在你的循环结束时。

AccumulatedBill += TotalBill

这会将每个TotalBill添加到Accumulated。然后只需在结尾打印出结果。

print "Total for all customers is: %s" %(AccumulatedBill)

注意:对于单词的第一个字母,通常不对变量使用大写。使用camelCase或underscore_separated。