【发布时间】:2018-09-29 21:03:15
【问题描述】:
我将创建一个有趣的数据库。但我在这一点上被卡住了。
我正在努力使我的搜索功能更加优化。所以我正在尝试这样做:
错误是我记得的。 attributeerror 'str' 对象没有属性 'print_info'
if password == "xxxx":
person = input("Who are you searching for? ")
if person == "Everyone":
print("Searching for everyone...")
info = input("What do you want to know about everyone? ")
if info != "Job" and info != "Salary" and info != "Age" and info != "Email" and info != "Sex" and info != "Everything":
print("No info was found")
else:
for key, value in employeeDict.items():
print("")
key.print_info(str(info))
else:
print("Searching for", person + "...")
info = input("What do you want to know about " + str(person) + "? ")
if info != "Job" and info != "Salary" and info != "Age" and info != "Email" and info != "Sex" and info != "Everything":
print("No info was found")
else:
person.print_info(str(info))
else:
print("Access denied")
我的“每个人”搜索功能工作正常,但我需要找到一个明确的员工的功能给我一个属性错误,因为“人”变量被格式化为字符串。我想知道是否可以格式化 person 变量以使 python 知道它是一个对象。
我所有的代码都是这样的。
import datetime
from employeeVariables import *
from employeeClass import *
Name1 = Employee("Name1", "Lastname1", "Fullname1", "CEO", "75%", str(Name1BirthDate) + " " + "(" + str(int(Name1Age.days/365.25)) + " years and " + str(int(Name1Age.days % 365.25)) + " days)", "1_" + str(Name1BirthDate), "Male")
Name2 = Employee("Name2", "Lastname2", "Fullname2", "Co. Founder", "25%", str(Name2BirthDate) + " " + "(" + str(int(Name2Age.days/365.25)) + " years and " + str(int(Name2Age.days % 365.25)) + " days)", "1_" + str(Name2BirthDate), "Male")
employeeDict = {Name1: Name1.ID, Name2: Name2.ID}
password = input('''Enter password to access the database
Password: ''')
if password == "xxxx":
person = input("Who are you searching for? ")
if person == "Everyone":
print("Searching for everyone...")
info = input("What do you want to know about everyone? ")
if info != "Job" and info != "Salary" and info != "Age" and info != "Email" and info != "Sex" and info != "Everything":
print("No info was found")
else:
for key, value in employeeDict.items():
print("")
key.print_info(info)
else:
print("Searching for", person + "...")
info = input("What do you want to know about " + str(person) + "? ")
if info != "Job" and info != "Salary" and info != "Age" and info != "Email" and info != "Sex" and info != "Everything":
print("No info was found")
else:
for key in employeeDict.items():
if key == person:
key.print_info(info)
else:
print("The employee doesn't exist in the database")
else:
print("Access denied")
提前感谢:)
【问题讨论】:
-
请始终发布错误的完整回溯。
-
我一回到家就会这样做。我认为这是一个属性错误。我会尽快编辑它
-
我认为这是错误。 attributeerror 'str' 对象没有属性 'print_info'
标签: string python-3.x types format