你在课堂上怎样使用字典?

2024-03-29 09:54:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我得把姓名和学号写进字典里。 问题是我在课堂上不知道怎么叫字典?我怎样才能把姓名和学号用那种格式写?你知道吗

class Cool():
    def __init__(self, name, student_num, new_dict):
        self._key = name
        self._value = student_num
        self._new_dict = new_dict


    def get_name(self):
        return self._key

    def get_student_number(self):
        return self._value

    def new_dict(self):
        return self._new_dict 

     #  I want to put name and student_name in this format:
     # {'name': 'student name'}
    def get_dict(self, new_dict):
        self._new_dict = {}
        self._new_dict[self._key] = self._value
        return self._new_dict[self._key]
    def __str__(self):
        return str(self._new_dict[self._key])

现在当我测试这个代码时

>>>a = Cool({}, 'diana', 1234)
>>>print(a)

我得到以下错误:

文件“C:\Program Files(x86)\Wing IDE 101 5.0\src\debug\tserver_沙盒.py“,第20行,在str builtins.TypeError错误:“int”对象不可下标


Tags: keynameselfnewgetreturn字典value
2条回答

你打错电话了。你知道吗

尝试:

>>>a = Cool('diana', 1234, {})

更多建议:

class Cool():
    def __init__(self, name, student_num, new_dict):
        self._key = name
        self._value = student_num
        self._new_dict = new_dict

    def get_name(self):
        return self._key

    def get_student_number(self):
        return self._value

    def get_dict(self):
        self._new_dict[self._key] = self._value
        return self._new_dict[self._key]

    def __str__(self):
        return str(self._new_dict[self._key])

为了让print工作(代码当前的方式)。你得先打电话给我

您可以只执行以下操作:

a = Cool('diana', 1234, {})
print(a.get_dict())

或者你可以编辑你的代码来处理dict。你知道吗

对你的问题

>>>a = Cool({}, 'diana', 1234)

这是否:

class Cool():
    def __init__(self, name, student_num, new_dict):

        self._key = name            # name is {}
        self._value = student_num   # student_num is 'diana'
        self._new_dict = new_dict   # new_dict is 1234

那么

>>print(a)

这是否:

    def __str__(self):
        return str(self._new_dict[self._key])

    => _new_dict is 1234
    => return 1234[self._key]
    => self._key is {}
    => return 1234[{}]
    => TypeError: 'int' object is not subscriptable

something[]是一个下标、一个切片、一个操作,Python不能用数字来实现。你知道吗

我不清楚整个代码应该做什么,但它看起来比它需要的代码多好几倍。我想这其中的一些是任务要求规定的?你知道吗

你在为每个学生开设一个“酷”班吗?还是给很多学生上一节“酷”课?目前看来,这还不确定——如果是每个学生上一节很酷的课,那么把一个名字放进字典里再拿出来,并不会给课堂增加任何东西。如果对很多学生来说这是一门很酷的课,那么get_name就没有意义了,因为会有很多名字,get_student_number需要一种方法来识别哪个学生。你知道吗

相关问题 更多 >