我是python的新手,我已经为一家假想的酒店编写了发票计划。当我试图调用函数返回它时,我遇到了困难。我真的可以使用帮助,因为我真的很难过。实现代码是跟随程序的描述,因此可以处理错误究竟是什么。
Invoice
PCCC宫殿酒店
Eddie的账单声明
酒店天数:2
房费$ 675.00
互联网收费29.85美元
电视收费8.85美元
总费用$ 703.70
地方税24.63美元
Total Due $728.33
感谢您使用PCCC Palace Hotel。希望能再次见到你。
要求: •按照课程中的说明,在代码中以评论的形式包含相关信息。 •使用不同的功能来处理每个 o房型 o Internet访问用法 o电视使用情况 •互联网和电视的使用可能会被拒绝,在这种情况下,收费将为0.00美元 •所有速率都定义为函数内的局部常量 •每个功能都有一个菜单,显示可供选择的选项 •每个函数都返回该选项产生的费用 •当地税率为3.5%,并定义为当地常数
问题是: Traceback(最近一次调用最后一次): 文件“C:/Python33/hotel.py”,第28行,in 打印(“房间费用:”,房间成本()) NameError:名称'roomcost'未定义
代码:
def main():
input = int , 2
costofinternet = costofinternet
costoftv = costoftv
customername = input("The Customer Name Please: ")
visitdays = input("Enter the Number of Days in the Hotel: ")
room = input("Rooms Used \n1 - Single Room - One Bed \n2 - Family Room - Doulble Bed \n3 - Suite \n Enter Choice 1, 2, or 3: ")
roomcost()
internet = input("Would You like Internet: ")
if internet == 'Y':
internettype = input("Internet Access Usage \n1 - Wireless \n2 - Wired \nEnter Choices 0, 1, or 2: ")
television = input("Would You like to use the TV: ")
if television == 'Y':
tvtype = input("TV Usage \n1 - Cable \n2 - Basic Channels \nEnter Choice 0, 1, or 2: ")
print("\t\t\t\t\t\t Invoice")
print("\t\tPCCC Palace Hotel")
print(customername, "'s Billing Statement")
print("Number of Days in Hotel: ", visitdays)
print("Room Charges: ", roomcost)
print("Internet Charges: ", costofinternet)
print("Television Charges: ", costoftv)
totalcharge = print("Total Charges: ", roomcost + costofinternet + costoftv)
localtaxes = print("Local Taxes: ", ((roomcost + costofinternet + costoftv) * .035))
print("\t\tTotal Due\t\t\t", totalcharge + localtaxes)
print("\t\tThank You For Using PCCC Palace Hotel. Hope To See You Again.")
def roomcost():
cost = []
if room == '1':
cost == 225
if room == '2':
cost == 325
if room == '3':
cost == 550
return(cost)
def internet():
costofinternet = []
if internettype == '0':
costofinternet == 0
if internettype == '1':
costofinternet == 9.95
if internettype == '2':
costofinternet == 5.95
return(costofinternet)
def tv():
costoftv = []
if tvtype == '0':
costoftv == 0
if tvtype == '1':
costoftv == 9.95
if tvtype == '2':
costoftv == 2.95
return(costoftv)
答案 0 :(得分:1)
roomcost是一个函数,所以你需要使用()运算符和其他函数调用来调用它:
print("Room Charges: ", roomcost())
print("Internet Charges: ", costofinternet())
print("Television Charges: ", costoftv())