<p><code>select1</code>和<code>rideshare</code>是字符串,而不是数字。<code>select1</code>包含用户输入的酒店名称,但您需要相应酒店的价格。您可以使用字典存储每个酒店的数字价格:</p>
<pre><code>hotels = {"HOLIDAY": 180,
"SHOWB": 230,
"MOLLYP": 180}
</code></pre>
<p>下面是如何从用户输入中获取速率:</p>
<pre><code>while select1 not in hotels:
# Ask which hotel
select1 = input("At which hotel will you be staying? " + \
"(Enter the capital letter that corresponds.)")
rate = hotels[select1] # get rate of hotel from dictionary
</code></pre>
<p>对于<code>rideshare</code>,需要根据用户输入将其设置为0或20:</p>
<pre><code># Ask about ridesharing
select2 = input("Will you be ultizing our ride-sharing services on your travels?" + \
" (If so, 'yes' or hit any key for no.) ")
if select2 == "yes":
print("This adds a $20 additional cost per day.")
rideshare = rideshare_rate
else: rideshare = 0
</code></pre>
<p>下面是一个有效的实现:</p>
<pre><code>rideshare_rate = 20
# Declare variables
rooms = 0
hotel = 0
select1 = ""
hotels = {"HOLIDAY": 180,
"SHOWB": 230,
"MOLLYP": 180}
# Greet the user
print("Hello, and welcome to our program!" + \
" Follow the prompts below to begin" + \
" planning your vacation.")
# Ask about the number of guests
party = int(input("With how many people will you be traveling?" + \
"(Larger groups may qualify for a discount!): "))
# Display discount
if 5 < party <= 8:
print("Cool! Your selection qualifies for a 10% discount" + \
"that will be applied at the end.")
elif party >= 9:
print("Cool! Your selection qualifies for a 30% discount" + \
"that will be applied at the end.")
elif party < 5:
print("Sorry, your purchase does not qualify for a discount.")
# -----------------------------------------------------------------
# Ask about the number of rooms
rooms = int(input("How many rooms will you be booking? " + \
"(please limit to 10 per transaction): ") )
# Ask about the number of nights
nights = int(input("For how many nights will you be staying? "))
# Display Hotels
print("Here are our available hotels:")
print("A. Holiday Inn: $120/night")
print("B. Showboat: $230/night")
print("C. Molly Pitcher Inn: $180/night")
while select1 not in hotels:
# Ask which hotel
select1 = input("At which hotel will you be staying? " + \
"(Enter the capital letter that corresponds.)")
rate = hotels[select1] # get rate of hotel from dictionary
# Ask about ridesharing
select2 = input("Will you be ultizing our ride-sharing services on your travels?" + \
" (If so, 'yes' or hit any key for no.) ")
if select2 == "yes":
print("This adds a $20 additional cost per day.")
rideshare = rideshare_rate
else: rideshare = 0
sum = (rooms * nights) + (nights * rideshare)
print(format(sum))
</code></pre>