[更新]我看到roomidea()在两个不同的位置被调用:
定义价格(): sBedsize,sRoomview,sVehicle,iRoomnum,iNights=roomidea() 和 sBedsize,sRoomview,sVehicle,iRoomnum,iNights=roomidea()
但问题是,每当我删除def price()下的一个位置时:它都会导致一个错误,即iNights未定义它定义的位置,而只是在first def下定义的位置。你知道吗
我现在的问题是,每当我在pycharm中运行我的程序时,它会打印两次输入,现在我有了一些关于为什么会发生这种情况的想法,但是每当我试图解决这些想法时,它要么不起作用,要么会导致更多的错误或问题。现在我有一个函数里面的输入,我稍后会调用这个函数,现在我不知道我是否会调用它两次,因为我的第二个def里面也有回调,这个def是price,但是如果你看了告诉我,我会很感激的。你知道吗
import time
def roomidea():
sBedsize = input("For your room do you want a queen-size bed or a king-size bed? Type Queen for queen-size or King for king-size:\t")
sRoomview = input("For your room do you want the standard view or the atrium view? Type Standard for standard-view or Atrium for atrium-view:\t")
sVehicle = input("Will you be parking at our hotel? Type Yes if you are, or No if you are not:\t")
iRoomnum = int(input("Please enter the amount of rooms you wish to check out:\t"))
iNights = int(input("Please enter the amount of nights you wish to stay:\t"))
return sBedsize, sRoomview, sVehicle, iRoomnum, iNights
def price():
sBedsize, sRoomview, sVehicle, iRoomnum, iNights = roomidea()
dPrice1 = iNights * 280
dPrice2 = iNights * 320
dPrice3 = iNights * 295.50
dPrice4 = iNights * 335.50
dPrice5 = iNights * 15.75
dResortfee1 = iNights * 20
dResortfee2 = iRoomnum * 20
dTotalqs = dPrice1 + dPrice5 + dResortfee1 + dResortfee2
dTotalqa = dPrice2 + dPrice5 + dResortfee1 + dResortfee2
dTotalqsv = dPrice1 + dResortfee1 + dResortfee2
dTotalqav = dPrice2 + dResortfee1 + dResortfee2
dTotalks = dPrice3 + dPrice5 + dResortfee1 + dResortfee2
dTotalka = dPrice4 + dPrice5 + dResortfee1 + dResortfee2
dTotalksv = dPrice3 + dResortfee1 + dResortfee2
dTotalkav = dPrice4 + dResortfee1 + dResortfee2
dTaxqs = dTotalqs * 0.15
dTaxqa = dTotalqa * 0.15
dTaxqsv = dTotalqsv * 0.15
dTaxqav = dTotalqav * 0.15
dTaxks = dTotalks * 0.15
dTaxka = dTotalka * 0.15
dTaxksv = dTotalksv * 0.15
dTaxkav = dTotalkav * 0.15
dOverallqs = dTotalqs + dTaxqs
dOverallqa = dTotalqa + dTaxqs
dOverallqsv = dTotalqsv + dTaxqs
dOverallqav = dTotalqav + dTaxqs
dOverallks = dTotalks + dTaxqs
dOverallka = dTotalka + dTaxqs
dOverallksv = dTotalksv + dTaxqs
dOverallkav = dTotalkav + dTaxqs
return dPrice1, dPrice2, dPrice3, dPrice4, dPrice5, dResortfee1, dResortfee2, dTotalqs, dTotalqa, dTotalqsv, dTotalqav, dTotalks, dTotalka, dTotalksv, dTotalkav, dTaxqs, dTaxqa, dTaxqsv, dTaxqav, dTaxks, dTaxka, dTaxksv, dTaxkav, dOverallqs, dOverallqa, dOverallqsv, dOverallqav, dOverallks, dOverallka, dOverallksv, dOverallkav
dPrice1, dPrice2, dPrice3, dPrice4, dPrice5, dResortfee1, dResortfee2, dTotalqs, dTotalqa, dTotalqsv, dTotalqav, dTotalks, dTotalka, dTotalksv, dTotalkav, dTaxqs, dTaxqa, dTaxqsv, dTaxqav, dTaxks, dTaxka, dTaxksv, dTaxkav, dOverallqs, dOverallqa, dOverallqsv, dOverallqav, dOverallks, dOverallka, dOverallksv, dOverallkav = price()
sBedsize, sRoomview, sVehicle, iRoomnum, iNights = roomidea()
if sBedsize == "Queen" and sRoomview == "Standard" and sVehicle == "Yes":
print("The price for a Queen-Size bed with the Standard view and you are parking a vehicle, this comes to the total of $%.2f" % dTotalqs + " If this is how you want your room, type Yes, if you want to pick another option, type No.")
elif sBedsize == "Queen" and sRoomview == "Atrium" and sVehicle == "Yes":
print("The price of Queen-Size bed with the Atrium view and you are parking a vehicle, this comes to the total of $%.2f" % dTotalqa + " If this is how you want your room, type Yes, if you want to pick another option, type No.")
elif sBedsize == "Queen" and sRoomview == "Standard" and sVehicle == "No":
print("The price for a Queen-Size bed with the Standard view and you are not parking a vehicle, this comes to the total of $%.2f" % dTotalqsv + " If this is how you want your room, type Yes, if you want to pick another option, type No.")
elif sBedsize == "Queen" and sRoomview == "Atrium" and sVehicle == "No":
print("The price for a Queen-Size bed with the Atrium view and you are not parking a vehicle, this comes to the total of $%.2f" % dTotalqav + " If this is how you want your room, type Yes, if you want to pick another option, type No.")
elif sBedsize == "King" and sRoomview == "Standard" and sVehicle == "Yes":
print("The price for a King-Size bed with the Standard view and you are parking a vehicle, this comes to the total of $%.2f" % dTotalks + " If this is how you want your room, type Yes, if you want to pick another option, type No.")
elif sBedsize == "King" and sRoomview == "Atrium" and sVehicle == "Yes":
print("The price for a King-Size bed with the Atrium view and you are parking a vehicle, this comes to the total of $%.2f" % dTotalka + " If this is how you want your room, type Yes, if you want to pick another option, type No.")
elif sBedsize == "King" and sRoomview == "Standard" and sVehicle == "No":
print("The price for a King-Size bed with the Standard view and you are not parking a vehicle, this comes to the total of $%.2f" % dTotalksv + " If this is how you want your room, type Yes, if you want to pick another option, type No.")
elif sBedsize == "King" and sRoomview == "Atrium" and sVehicle == "No":
print("The price for a King-Size bed with the Standard view and you are not parking a vehicle, this comes to the total of $%.2f" % dTotalkav + " If this is how you want your room, type Yes, if you want to pick another option, type No.")
else:
print("You did not enter the information correctly")
time.sleep(5)
feedback = input("Would you like to change your room choices? Type Yes or No for the options").upper()
if feedback == "YES":
print("Thank you for picking a room with us, I hope you enjoy your room and we are hoping to see you back again!")
elif feedback == "NO":
print("We are sorry that the room you picked isn't how you wanted it, please retype how you want your room, if you want to leave just type quit")
time.sleep(5)
你可能需要考虑更好的逻辑。问题是, 因为您使用的是方法
sBedSize, sRoomview, sVehicle
之外的def price():
,所以它可能会崩溃。从price()
返回相关问题 更多 >
编程相关推荐