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

如何在Python中验证输入是否属于指定服务列表?

解决输入验证问题:检查输入是否属于指定服务列表

你的代码有两个关键问题导致无法正确判断输入是否有效:

  1. 你把输入的字符串和整个services列表做相等判断(hotel_services == services),这永远不会成立——一个字符串不可能等于一个列表
  2. 你用了不必要的try-except块,str(input())不会抛出ValueError,所以输入错误时根本触发不了"Invalid"提示

修正后的代码如下:

while True:
    services = ['Conference','Dinner','Lodging','Membership Renewal']
    # 直接遍历列表打印服务项,比用索引更简洁
    for service in services:
        print(f"{service : <14}")
    # 去除输入首尾空格,避免用户误输入空格导致验证失败
    hotel_services = input("Enter the hotel services: ").strip()
    # 检查输入是否在服务列表中
    if hotel_services in services:
        print("Valid")
        break  # 验证通过,退出循环
    else:
        print("Invalid")
        print("Try Again")

修改说明:

  • 用hotel_services in services替代原有的相等判断,正确验证输入是否属于指定服务
  • 移除无用的try-except结构,直接通过条件分支处理有效/无效输入
  • 给输入加上.strip(),处理用户输入时的首尾空格问题,避免因为空格导致的误判
  • 简化服务列表的打印逻辑,直接遍历列表元素,代码更易读

内容的提问来源于stack exchange,提问作者Allixar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 11:30:44