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

Python函数is_capital实现求助:判断城市是否为州首府

修正is_capital函数的实现问题

你的代码存在几个关键问题,导致无法满足题目要求,以下是问题分析和修正方案:

问题点

  • 参数命名不符合要求:题目要求函数参数是state和city,你用了key和value,既不直观也不符合题目标注。
  • 判断逻辑错误:key and value in CAPITALS的逻辑是判断key为真值且value是字典的键,但我们需要的是验证指定州对应的首府是否等于传入的城市,而不是判断城市是否是州的名称。
  • 返回值不符合要求:题目要求函数返回布尔值True/False,但你的代码是打印字符串,没有返回值。

修正后的代码

假设给定的首府字典CAPITALS结构类似:

CAPITALS = {
    "California": "Sacramento",
    "New York": "Albany",
    "Texas": "Austin"
}

基础版修正代码:

def is_capital(state, city):
    # 用get方法安全获取州对应的首府,避免state不存在时抛出KeyError
    return CAPITALS.get(state) == city

如果需要忽略大小写(比如处理用户输入的大小写不一致情况),可以优化为:

def is_capital(state, city):
    # 统一转为小写进行匹配
    target_capital = CAPITALS.get(state.lower())
    return target_capital is not None and target_capital.lower() == city.lower()

说明

  • 基础版中,CAPITALS.get(state)会返回对应州的首府,如果州不存在则返回None,此时None == city会返回False,符合题目要求。
  • 优化版通过统一转小写,增强了函数的健壮性,能处理大小写不同的输入场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:24:31