首先,这是我的代码:
def setdata():
name = input("Enter name:")
days = int(input("Enter days"))
rooms= int(input("Enter rooms"))
return name, days, rooms
def setroom(room,days):
roomtype = input("Enter Room type (AC(A)/Regular(R)):")
rate = 200
charges = 0
if(roomtype=='A'):
charges = rate*2*days*room
else:
charges = rate*days*room
return roomtype,charges
def setnet(days):
nettype = input("Enter Net type (WiFi(W)/EtherNet(E)):")
rate = 10
charges = 0
if(nettype=='W'):
charges = rate*0.45*days
else:
charges = rate*days
return nettype, charges
def settv(days):
tvtype = input("Enter TV type (Advaned(A)/Basic(B)):")
rate = 4.5
charges = 0
if(tvtype=='A'):
charges = rate*1.45*days
else:
charges = rate*days
return tvtype, charges
def findtotal(roomcharges,netcharges,tvcharges):
return roomcharges+netcharges+tvcharges
def outputheader(name,days,roomtype):
print("Name : "+name+"\nNumber of days : "+str(days)+"\nRoom Typr : ")
if(roomtype=='A'):
print ("AC\n")
else:
print ("Regular\n")
def output(roomcharges,netcharges,nettype,tvcharges,tvtype):
print ("Room Charges :"+str(roomcharges)+"\n")
print ("Net Charges \t ("+nettype+")\t :"+str(netcharges)+"\n")
print ("TV Charges \t ("+tvtype+")\t :"+str(tvcharges)+"\n")
def outputfooter(totalcharges):
print ("Total Charges \t :")+str(totalcharges)
print ("Local Taxes \t :")+str((totalcharges/100)*3.5)
print ("Total Due : ")+str(totalcharges+((totalcharges/100)*3.5))
def main():
name, days, rooms = setdata()
roomtype, roomcharges = setroom(rooms,days)
nettype,netcharges = setnet(days)
tvtype,tvcharges = settv(days)
totalcharges = findtotal(roomcharges,netcharges,tvcharges)
outputheader(name,days,roomtype)
output(roomcharges,netcharges,nettype,tvcharges,tvtype)
outputfooter(totalcharges)
main()
input("Press any key to continue")
[运行程序时,一切正常,直到运行程序(使用IDLE btw)时遇到此error message。im不知道im是否正确使用+ str,这可能会导致此错误。解决此问题的最佳方法是什么?非常感谢您的帮助!
正确的括号会有所帮助:
def outputfooter(totalcharges):
print ("Total Charges \t :",str(totalcharges))
print ("Local Taxes \t :",str((totalcharges/100)*3.5))
print ("Total Due : ",str(totalcharges+((totalcharges/100)*3.5)))