【发布时间】:2020-05-25 21:06:05
【问题描述】:
我的代码将在下面。我正在练习 Python,想做一个简单的餐厅小费计算器。它工作正常,但我觉得我过于依赖 while 循环。对于每个输入提示,我想让脚本检查输入是否为 int/float,如果不是,它将继续循环,直到给出正确的输入。
是否有人对这是否是进行此类“检查”的好方法有建议?
还有:
在我将“#DETERMINING TIP PERCENTAGE BASED ON QUALITY”和后面的部分放在他们自己的 while 循环中(它们最初是在代码末尾而不是循环中)之前,我无法让脚本移动在“您的服务质量如何?”之后的那些部分。部分。该脚本仅循环播放该部分。知道为什么吗?它的格式似乎与之前的其他 2 个 while 循环完全相同。
谢谢大家。这是我的代码:
while True :
try :
total = float(input('Enter the total cost of the meal: '))
if total < 1 :
print('Please enter a value greater than 0. ')
continue
except :
print('Please enter a numerical value. ')
continue
while True :
try :
guests = int(input('How many guests? '))
if guests < 1 :
print('Please enter a value greater than 0. ')
continue
except :
print('Please enter a numerical value. ')
continue
while True :
try :
quality = int(input('How was the quality of your service? 1 - 3: '))
if quality > 3 or quality < 1 :
print('Please enter a value between 1 and 3. ')
continue
except :
print('Please enter a numerical value. ')
continue
#DETERMINING TIP PERCENTAGE BASED ON QUALITY
while True :
if quality == 1 :
tip_percent = 0.15
elif quality == 2 :
tip_percent = 0.20
elif quality == 3 :
tip_percent = 0.25
#CALCULATING PER PERSON TIP AMOUNT
gross_tip = total * tip_percent
perperson_tip = (total / guests) * tip_percent
#PRINTING TIP PER PERSON AND GROSS TIP
print('Per-person tip: ' + str(perperson_tip) + '\nGross tip: ' + str(gross_tip))
exit()
【问题讨论】:
标签: python python-3.x while-loop