You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

停车计算器:添加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

逻辑细节解释

  1. 前置校验:先拦截非法输入,避免后续计算出现无意义的结果(比如负数、超过24小时的数值)
  2. 原有逻辑保留:合法输入时,完全沿用你原本的「小时数×费率」计算,同时保留最高20元的费用限制
  3. 友好反馈:给用户明确的错误提示,让用户知道哪里出了问题,方便修正输入

示例可运行代码(以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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:34:51