停车计算器:添加1-24小时输入验证功能求助
解决停车费计算器的输入范围验证问题
你已经搭好了核心的计费逻辑框架,现在只需要加上输入值1-24的范围校验就可以了,用if/else完全能搞定,我帮你梳理下实现思路和修改后的代码方案:
核心验证逻辑思路
首先要把输入校验放在最前面,先判断用户输入的小时数是否合法:
- 如果输入值在
1到24之间(包含两个边界值),就执行原本的计费计算逻辑 - 如果输入值不在这个范围,直接输出错误提示,让用户重新输入
修改后的完整伪代码(带验证)
/* Harrison Currie 24/03 Assignment Parking Fee 1 Pseudocode */ // 定义常量 HOURLY_RATE = 2.50 MAX_FEE = 20.00 // 获取用户输入的停车小时数 INPUT HOURS // 新增:输入范围验证逻辑 IF HOURS >= 1 AND HOURS <= 24 THEN // 执行原本的计费计算 PARKING_FEE = HOURS * HOURLY_RATE // 应用最高费用限制 IF PARKING_FEE > MAX_FEE THEN PARKING_FEE = MAX_FEE END IF // 输出最终费用 OUTPUT "Total parking cost: $" + PARKING_FEE ELSE // 输入无效时给出明确提示 OUTPUT "Error: Please enter a valid number between 1 and 24." END IF
逻辑细节解释
- 前置校验:先拦截非法输入,避免后续计算出现无意义的结果(比如负数、超过24小时的数值)
- 原有逻辑保留:合法输入时,完全沿用你原本的「小时数×费率」计算,同时保留最高20元的费用限制
- 友好反馈:给用户明确的错误提示,让用户知道哪里出了问题,方便修正输入
示例可运行代码(以Python为例)
如果要写成实际能跑的代码,这里给你一个Python版本参考,还额外处理了用户输入非数字的情况,让程序更健壮:
# 定义常量 HOURLY_RATE = 2.50 MAX_FEE = 20.00 # 获取并处理用户输入 try: hours = float(input("Enter parking hours: ")) # 核心范围验证 if 1 <= hours <= 24: parking_fee = hours * HOURLY_RATE # 限制最高费用 parking_fee = min(parking_fee, MAX_FEE) print(f"Total parking cost: ${parking_fee:.2f}") else: print("Error: Please enter a valid number between 1 and 24.") except ValueError: # 处理用户输入非数字的情况 print("Error: Please enter a valid numeric value.")
内容的提问来源于stack exchange,提问作者Harry
相关产品推荐
相关产品推荐

