【发布时间】:2021-11-28 07:41:32
【问题描述】:
我正在制作电话簿,并试图找出我做错了什么。我已经定义了一个类“人”,它应该为每个输入他们的姓名和电话号码的人创建单独的“个人资料”。然后我有一个功能可以用作用户的 UI。当您尝试使用该名称“查找”配置文件时会出现问题。 Python 只是告诉我给定的字符串对象(名称)没有“数字”属性。
代码:
class people:
def __init__(self, number):
self.number = number
def main():
while True:
command = str(input(('phoneBook> ')))
segment = command.split()
if segment[0] == 'add':
segment[1] = people(segment[2])
print(segment[1].number)
if segment[0] == 'lookup':
print(segment[1].number)
if segment[0] == 'quit':
pass
非常感谢任何帮助,任何有关使用课程或解决此特定问题的提示都会很棒!
谢谢! - TheBigChung
【问题讨论】:
-
因为您没有在第二个
if statement中将segment[1]定义为people -
它不应该已经作为
peoplebcs的对象存在吗?我之前定义的?那不会创建第二个对象吗? @Matiiss -
@TheBigChung 当然,但随后循环从顶部重新开始并评估
segment = command.split() -
应该如此,例如,如果我键入: > 添加 Jones 106524。它应该首先添加数字:106524,其中 Jones 是对象变量。在第二个循环中我输入:>lookup Jones,它应该输出属性(数字):106524。@MathiasR.Jessen
标签: python list class if-statement