原因就是input()函数接受到键盘输入后,会将所有的数据包装到字符串中,比如你输入「张伟, 20」,实际上query变量="张伟, 20",而字典phone_num_dict中的key是元祖:("张伟", 20)。所以,如果非要用元组做为字典key的话,那么
1、input通过键盘输入的数据要有括号;
2、query需要从字符串转换为元组类型
示例代码:
d = {("张伟", 20):100}
>>> query=input()
("张伟", 20)
>>> d[eval(query)]
100
有帮助的话,请点采纳呀~
该回答引用ChatGPT
在Python中,只有不可变的对象才可以作为字典的键,元组是不可变的对象,因此可以作为字典的键。
你的问题可能是由于元组的写法不正确导致的,建议检查一下代码中元组的语法。
在使用字典查询元组键的时候,需要使用完整的元组作为查询的键,例如:("张伟",20),而不能仅使用其中的一部分。另外,需要注意字典中所有键的类型,确保查询时类型一致。
你可以尝试打印所有键来确认它们的确已经在字典中建立,然后按照正确的方式查询,看看能否得到想要的结果。