操作数类型不受支持的问题

问题描述 投票:1回答:1

首先,这是我的代码:

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,这可能会导致此错误。解决此问题的最佳方法是什么?非常感谢您的帮助!

python syntax
1个回答
0
投票

正确的括号会有所帮助:

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)))
© www.soinside.com 2019 - 2024. All rights reserved.