我正在尝试创建一个非常简单的房地产数据库,该数据库将根据用户标准返回属性。
我有以下代码:
import sys
def main():
print ("What type of property are you looking for?")
Type = input()
print ("How big of a property are you looking for?")
Size = input()
print ("Are you looking to lease or purchase a property?")
Listing_Type = input()
a = ('Retail', 1500, 'Lease')
b = ('Industrial', 1440, 'Sale')
c = ('Office', 1000, 'Lease')
Database = (a, b, c)
for i in Database:
if Type == Database[i[0]] and Size == Database[i[1]] and Listing_Type == Database[i[2]]:
text = "There is a %c square foot %d space for %z" % (Database[i[1]], Database[i[0]], Database[i[2]])
else:
i += 1
if matches == 0:
print ("Sorry, there were no matching properties.")
if __name__ == '__main__':
main()
当我运行它时,我得到错误TypeError:元组索引必须是整数或切片,而不是str。
我仍在努力了解这是如何运作的。我需要检查属性类型和列表类型的字符串是否匹配,还要检查大小是否正确。
答案 0 :(得分:0)
删除Database[]
in Database[i[0]]
,in Database[i[1]]
,in Database[i[2]]
,
您已经在Database
上进行了迭代,因此循环中的i
将为a
,b
,然后是c
。要访问这些元组的值,i[0]
就足够了。
答案 1 :(得分:0)
我在数据库中 所以首先
i =('Retail', 1500, 'Lease')
i[0]='Retail'
所以
database[i[0]]=database['Retail']
但数据库是元组而不是字典
答案 2 :(得分:0)
更改行
for i in database:
到
for i in range(len(database)):