我有一个列表,其中包含集合。我已经被困了6个小时,但仍然无法弄清楚如何在列表中提取值。
我需要对这些条件使用条件并进行def搜索。
代码如下:
list_a = {1: x, 2: x}
list_b = {1: a, 2: b}
list_c = {1: [q, w, e, r], 2: [a, s, d, f]}
我需要提取值并进行搜索功能。
model = {'1':"A123", '2':"9210"}
brand = {'1':"IPhone", '2': "Nokia"}
price = {'1': "4000.00", '2':"200.00"}
feature = {'1':["Wi-fi", "DualSim", "MAC OS"], '2':["Snake","Backlight"]}`
def search():
lowprice=float(raw_input("Enter lower bound of price: "))
upperprice= float(raw_input("Enter upper bound of price: "))
brandfinder=raw_input("Enter brand name: ")
for key in model:
brandholder = str(brand[key])
priceholder = float(price[key])
brandholder = str(brand[key])
modelholder = str(model[key])
priceholder = str(price[key])
if priceholder > lowprice:
if priceholder < upperprice
print key +". " + brandholder + ", " + modelholder + ", P" + priceholder
print "Features: " + str(feature[key])
我必须在def功能的输入上加上价格范围和品牌名称。我一直没有为它获得正确的代码..它没有给出正确的输出。
答案 0 :(得分:0)
我想问一下你遇到了什么样的错误?因为除非我弄错了。这似乎是一个简单的修复。
lowerprice
是一个浮点数,priceholder
是一个字符串。因此,当您尝试比较哪个更大时,您会收到错误。
TypeError: unorderable types: str() > float()
另一个问题是缩进。我以为你可能在SO中输错了。但如果你还没有,那么这是另一个需要考虑的问题。我引用的缩进是针对if语句下面的打印。
另一件事。使用<
和>
检查值是否在2个边界值之间时,您可以在显示的同一语句中使用它们。
另外,我想问一下,如果你要转换它们,为什么你的浮动字符串在价格中?将它们存储为浮点数而不是字符串更有意义。
model = {'1':"A123", '2':"9210"}
brand = {'1':"IPhone", '2': "Nokia"}
price = {'1': "4000.00", '2':"200.00"}
feature = {'1':["Wi-fi", "DualSim", "MAC OS"], '2':["Snake","Backlight"]}
def search():
lowprice=float(input("Enter lower bound of price: "))
upperprice= float(input("Enter upper bound of price: "))
brandfinder=input("Enter brand name: ")
for key in model:
brandholder = str(brand[key])
priceholder = float(price[key])
brandholder = str(brand[key])
modelholder = str(model[key])
priceholder = float(price[key])
if lowprice < priceholder < upperprice:
print key +". " + brandholder + ", " + modelholder + ", P" + str(priceholder)
print "Features: " + str(feature[key])
#Input
Enter lower bound of price: 400
Enter upper bound of price: 5000
Enter brand name: IPhone
#Output
1. IPhone, A123, P4000.0
Features: ['Wi-fi', 'DualSim', 'MAC OS']