这是www.example.com网站上的一个挑战:

创建一个名为update_availability的函数,该函数允许您更新图书馆目录中图书的可用性状态.该函数应将图书馆目录、书名和新的可用性状态作为输入参数,并更新目录中指定图书的可用性状态

def update_availability(catalog, title, new_availability):
   
        if title in catalog:
            catalog[title]['available'] = new_availability
        else:
            catalog[title]['available'] = False

有几个测试 case 获得通过,但由于某些原因,并非全部通过.

错误代码:

Traceback (most recent call last):
  File "/tmp/NBGYDzQ2cahiwemgBpKXCVHd1l42/main.py", line 26, in <module>
    eval(line)
  File "<string>", line 1, in <module>
  File "/tmp/NBGYDzQ2cahiwemgBpKXCVHd1l42/main.py", line 8, in update_availability
    catalog[title]['available'] = False
KeyError: 'Harry Potter'

推荐答案

您正在try 更改标题上的available值,而该值在catalog中不存在.相反,创建一个新的:

def update_availability(catalog, title, new_availability):
    if title in catalog:
        catalog[title]["available"] = new_availability
    else:
        # at this point title isn't in the catalog, so create one:
        catalog[title] = {"available": False}  # or perhaps you mean `catalog[title] = {"available": new_availability}`

Python相关问答推荐

Chatgpt API不断返回错误:404未能从API获取响应

Python Hashicorp Vault库hvac创建新的秘密版本,但从先前版本中删除了密钥

Python会扔掉未使用的表情吗?

2维数组9x9,不使用numpy.数组(MutableSequence的子类)

根据不同列的值在收件箱中移动数据

从groupby执行计算后创建新的子框架

为什么抓取的HTML与浏览器判断的元素不同?

转换为浮点,pandas字符串列,混合千和十进制分隔符

Numpyro AR(1)均值切换模型抽样不一致性

为什么t sns.barplot图例不显示所有值?'

如何获得3D点的平移和旋转,给定的点已经旋转?

使用python playwright从 Select 子菜单中 Select 值

使用SQLAlchemy从多线程Python应用程序在postgr中插入多行的最佳方法是什么?'

如何使用大量常量优化代码?

随机森林n_估计器的计算

如何获取给定列中包含特定值的行号?

如何从一个维基页面中抓取和存储多个表格?

VSCode Pylance假阳性(?)对ImportError的react

如何将django url参数传递给模板&S url方法?

合并Pandas中的数据帧,但处理不存在的列