Python 3.x 当需要在范围外使用变量时,如何在if语句中获取此输入语句以进行提示?
因此,我想提示用户输入数字1-3表示苏打水,4(或任何其他数字)表示水。如果他们选择苏打水,它应该问他们一个尺寸。但是,如果他们选择水,则应跳过尺寸问题。如果他们选择了水,我可以将大小问题转化为if语句,但是我不能在这个范围之外使用大小变量。我该怎么做呢?虽然所有的计算都是正确的,但我现在所拥有的提示了水的大小问题Python 3.x 当需要在范围外使用变量时,如何在if语句中获取此输入语句以进行提示?,python-3.x,Python 3.x,因此,我想提示用户输入数字1-3表示苏打水,4(或任何其他数字)表示水。如果他们选择苏打水,它应该问他们一个尺寸。但是,如果他们选择水,则应跳过尺寸问题。如果他们选择了水,我可以将大小问题转化为if语句,但是我不能在这个范围之外使用大小变量。我该怎么做呢?虽然所有的计算都是正确的,但我现在所拥有的提示了水的大小问题 HAMBURGER = 3.25 CHEESEBURGER = 3.25 CHICKEN = 2.50 SMALL = 1.50 MED = 2.25 LARGE = 2.75 WA
HAMBURGER = 3.25
CHEESEBURGER = 3.25
CHICKEN = 2.50
SMALL = 1.50
MED = 2.25
LARGE = 2.75
WATER = 0.00
SALES_TAX = 0.08
sandwich = int(input("Sandwich?\nPlease
enter 1 for a hamburger, 2 for a cheeseburger, 3 for a chicken sandwich
or 4 for no sandwich: "))
if sandwich == 1:
sandwich = HAMBURGER
elif sandwich == 2:
sandwich = CHEESEBURGER
elif sandwich == 3:
sandwich = CHICKEN
else:
sandwich == 0
drink = float(input("Drink?\nPlease enter 1 for Coke, 2 for Sprite, 3
for lemonade, or 4 for a cup of water: "))
water = drink < 1 or drink >= 4
size = float(input("Size?\nPlease enter 1 for Small, 2 for Medium, or 3
for large: "))
if size == 1:
size = SMALL
elif size == 2:
size = MED
elif size == 3:
size = LARGE
else:
size = MED
if water:
size = WATER
subtotal = (sandwich+(drink * size))
sales_tax = (subtotal * SALES_TAX)
total = (subtotal + sales_tax)
print("Here is your order: ")
if sandwich == HAMBURGER:
print(f"Hamburger\t\t\t${HAMBURGER:10.2f}")
elif sandwich == CHEESEBURGER:
print(f"Cheeseburger\t\t\t${CHEESEBURGER:10.2f}")
elif sandwich == CHICKEN:
print(f"Chicken Sandwich\t\t\t${CHICKEN:<40.2f}")
if size == SMALL:
print(f"Small Drink\t\t\t${SMALL:10.2f}")
if size == MED:
print(f"Medium Drink\t\t\t${MED:10.2f}")
if size == LARGE:
print(f"Large Drink\t\t\t${LARGE:10.2f}")
else:
print(f"Water\t\t\t${WATER:<40.2f}")
print('-' * 30)
print(f"Subtotal: ${subtotal:.2f}")
print(f"Sales Tax: ${sales_tax:.2f}")
print(f"Total: ${total:.2f}")
汉堡=3.25
芝士汉堡=3.25
鸡肉=2.50
小=1.50
MED=2.25
大=2.75
水=0.00
销售税=0.08
三明治=整数(输入(“三明治”?\n请
输入1表示汉堡包,2表示奶酪汉堡,3表示鸡肉三明治
或4个不含三明治:))
如果三明治==1:
三明治=汉堡包
elif三明治==2:
三明治=奶酪汉堡
elif三明治==3:
三明治=鸡肉
其他:
三明治==0
饮料=浮子(输入(“饮料”?\n请输入1表示可乐,2表示雪碧,3
喝柠檬水,或喝一杯水喝4杯:“))
水=饮料<1或饮料>=4
大小=浮动(输入(“大小”?\n请输入1表示小,2表示中,或3
对于大型:))
如果大小=1:
尺寸=小
elif大小==2:
尺寸=中等
elif大小==3:
尺寸=大
其他:
尺寸=中等
如果是水:
尺寸=水
小计=(三明治+(饮料*尺寸))
销售税=(小计*销售税)
总计=(小计+销售税)
打印(“这是您的订单:”)
如果三明治==汉堡包:
打印(f“Hamburger\t\t\t${Hamburger:10.2f}”)
elif三明治==奶酪汉堡:
打印(f“Cheeseburger\t\t\t${Cheeseburger:10.2f}”)
elif三明治==鸡肉:
打印(f“Chicken Sandwich\t\t${Chicken:如果没有要求尺寸选项,您可以检查是否选择了水
如果是水:
尺寸=水
其他:
大小\选项=输入(“大小?\n请输入1表示小,2表示中,或3表示大:”)
如果大小_选项==“1”:
尺寸=小
elif大小_选项==“2”:
尺寸=中等
elif大小_选项==“3”:
尺寸=大
其他:
尺寸=中等
你只需将if water:size=water
移动到提示前。然后使用else:
来询问大小。然后你可以在这个else中包含各种大小的if/elif语句,以避免在你已经知道它的水的情况下通过这些语句。谢谢!不知道为什么我没有想到这个!谢谢!!还有另一个问题uestion。在三明治和饮料的打印语句中,如何使数值对齐?现在,三明治的成本打印出来比饮料成本更向右。这可能是另一个问题,我认为可能是在您修复代码以显示正确结果之后-看看如果选择a'c会发生什么希斯伯格。