功能和回报

时间:2013-03-31 19:14:39

标签: python function return call

我是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)

1 个答案:

答案 0 :(得分:1)

roomcost是一个函数,所以你需要使用()运算符和其他函数调用来调用它:

print("Room Charges: ", roomcost())
print("Internet Charges: ", costofinternet())
print("Television Charges: ", costoftv())