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

如何在if条件判断中为输入变量接受多个选项答案?

如何让if条件接受多个可选项作为有效输入

嘿,我注意到你想让代码的if条件能匹配多个不同大小写的答案,但你的示例代码存在一个逻辑错误哦——or 'TRANSPORT' or 'transport'这部分的写法不对,因为非空字符串在布尔判断里会被直接判定为True,所以不管player_ship是什么值,这个条件都会成立,根本起不到筛选的作用!

下面给你几种靠谱的实现方式:

方法1:明确的多条件比较

把每个可接受的值都和变量做相等判断,用or连接:

if player_ship == 'Transport' or player_ship == 'TRANSPORT' or player_ship == 'transport':
    print('You successfully purchased a Transport Ship!')

这种写法直观,但如果可选项很多的话,代码会显得冗长。

方法2:使用集合的in操作符

把所有可接受的值放进一个集合(或列表),用in判断变量是否在集合内,集合的查找效率更高:

accepted_ships = {'Transport', 'TRANSPORT', 'transport'}
if player_ship in accepted_ships:
    print('You successfully purchased a Transport Ship!')

这种方式更整洁,后续要添加新的可选项也很方便,直接往集合里加就行。

方法3:统一转换大小写(最省心的方式)

如果只是大小写不同的话,直接把输入变量转换成小写(或大写),再和统一格式的目标值比较:

if player_ship.lower() == 'transport':
    print('You successfully purchased a Transport Ship!')

这种写法最简洁,不管用户输入的是Transport、TRANSPORT还是tRaNsPoRt,都能匹配成功,完全不用枚举所有大小写组合~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:18:33