我有一个关于python程序的问题。我在这个程序中找不到总数和总数。休息很好。有什么办法我能修好吗?我很快就要交这个节目了。如果能给我一些建议,我会很感激的
midSalary = 50000
maxSalary = 60000
def main():
inFile = open('program7.txt', 'r')
lineRead = inFile.readline()
total = 0.0
ntotal = 0.0
count = 0
while lineRead != '':
words = lineRead.split()
for word in words:
num = float(word)
total += num
count += 1
print("\nFaculty Member # ",count, ": $" , format(num, '.2f'), sep ="")
if num >= maxSalary:
payIncrease(num, .04)
elif num >= midSalary:
payIncrease(num, .07)
else:
payIncrease(num , .055)
lineRead = inFile.readline()
#averagePayRaise = (ntotal - total) / count
inFile.close()
for divider in range(45):
print("-", end ='')
print("\nTotal Faculty payroll : $", format(total , ",.2f"),sep ="")
print("The New Total Faculty payroll : $", format(ntotal , ",.2f"),sep ="")
print("Average Pay Raise : $", format(averagePayRaise, ",.2f"), sep ="")
def payIncrease(amount, prcnt):
print("Pay Raise Percent : ", format(prcnt*100, ".1f")+"%")
total = 0.0
ntotal = 0.0
count = 0
salRaise = amount * prcnt
newSal = amount + salRaise
print("Pay Raise : $", format(salRaise, ',.2f'), sep ="")
print("New Salary : $", format(newSal, ',.2f'), sep = "")
total += amount
count += 1
ntotal += newSal
averagePayRaise = (ntotal - total) / count
main()
默认情况下,在Python中指定的名称是声明它们的函数的local。所以,如果你有:
然后有两个名为
^{pr2}$total
的独立值。解决这一问题的一种方法是使其全球化:请注意,您不希望在
payIncrease()
内分配total = 0
,因为这样会将运行总数重置为0。您可能在将代码分解为payIncrease()
函数时添加了这一点,因为Python没有这样做就给了您一个错误。在相关问题 更多 >
编程相关推荐