在Python中使用列表或数组?

在Python中使用列表或数组?,python,python-3.x,Python,Python 3.x,我需要存储6个项目的信息以及它们各自的长度、宽度和成本值,然后根据用户输入计算出一些值 在jcusick的帮助下,我现在有了下面的代码 我现在需要有关注释(#)中标记的项目的帮助 您不需要编写完整的代码-指向正确的方向是完美的 到目前为止,我已经: cost = {} cost['Themon'] = 450 cost['Larrec'] = 700 cost['Medrec'] = 500 cost['Parallel'] = 825 cost['Suncatch'] = 400 cost['

我需要存储6个项目的信息以及它们各自的长度、宽度和成本值,然后根据用户输入计算出一些值

在jcusick的帮助下,我现在有了下面的代码

我现在需要有关注释(#)中标记的项目的帮助

您不需要编写完整的代码-指向正确的方向是完美的

到目前为止,我已经:

cost = {}
cost['Themon'] = 450
cost['Larrec'] = 700
cost['Medrec'] = 500
cost['Parallel'] = 825
cost['Suncatch'] = 400
cost['Chantran'] = 975

length = {}
length['Themon'] = 3.2
length['Larrec'] = 3.4
length['Medrec'] = 2.1
length['Parallel'] = 5
length['Suncatch'] = 3
length['Chantran'] = 9

width = {}
width['Themon'] = 2.3
width['Larrec'] = 3
width['Medrec'] = 2
width['Parallel'] = 4
width['Suncatch'] = 3
width['Chantran'] = 6

area = {}
area['Themon'] = 1 # how do i calculate the area (l*w) by referencing the lenght and width dictionary 
area['Larrec'] = 1
area['Medrec'] = 1
area['Parallel'] = 1
area['Suncatch'] = 1
area['Chantran'] = 1

#menu
ans=True
while ans:
    print("""
    Enter 1. to find cheapest garden deck 
    Enter 2. to display the names of garden decks over a certain lenght
    Enter 3. to display the number of garden decks that are available over a certain area
    Enter 4. to quit
    """)
    ans=input("What option would you like? ")
    if ans=="1":
        print (min(cost, key=cost.get))
    elif ans=="2":
        input_length = input("\n Please enter minimum deck length between 2 and 15 metres")
        print # i need to display names of the decks greater than the user input length
    elif ans=="3":
        input_area = input("\n Please enter deck area in metres squared between 4 and 80")
        print # i need to display the number of garden decks that are greater that the user input area
    elif ans=="4":
        print("\n Thank you for using Penny's Decking")
    else:
        print("\n Not a valid choice")

我可以考虑为你感兴趣的变量(长度、宽度、成本)创建一个变量。然后,您可以根据用户的回答随时查询特定词典:

cost = {}
cost['Themon'] = 450
cost['Larrec'] = 700
...
print (min(cost, key=cost.get))
# 'Themon'

我可以考虑为你感兴趣的变量(长度、宽度、成本)创建一个变量。然后,您可以根据用户的回答随时查询特定词典:

cost = {}
cost['Themon'] = 450
cost['Larrec'] = 700
...
print (min(cost, key=cost.get))
# 'Themon'

我建议您研究Pandas,并使用数据帧更具体地实现它,因为它们非常适合您所做的事情。就像其他人提到的。确保缩进格式正确。如果您不想使用数据帧,那么imho非常适合您的工作。我建议创建一个价值观词典并引用它们

我建议您研究Pandas,并使用数据帧更具体地实现这一点,因为它们非常适合您的工作。就像其他人提到的。确保缩进格式正确。如果您不想使用数据帧,那么imho非常适合您的工作。我建议创建一个价值观词典并引用它们

我认为,用一小段这样的代码来说,pandas可能太过分了。对于您的特定示例,阵列将是一种更快的存储方法。不过,我甚至想说,列表可能是处理这种特殊规模的更具python风格的方法。在这里,您的性能不会受到任何严重影响,而且现在它的可读性比使用数组要好一些

为了进一步阅读,有时在您保存和访问记录的大型示例中,namedtuple可能会有所帮助:

我认为,对于这样一小段代码来说,pandas可能太过分了。对于您的特定示例,阵列将是一种更快的存储方法。不过,我甚至想说,列表可能是处理这种特殊规模的更具python风格的方法。在这里,您的性能不会受到任何严重影响,而且现在它的可读性比使用数组要好一些

为了进一步阅读,有时在您保存和访问记录的大型示例中,namedtuple可能会有所帮助:

“我想我存储的数据不正确”-你怎么会这样想?为什么你认为数组会更好?请参见.Re:indentation-我在python中正确缩进了它,但在粘贴到这里时遇到了困难。@user6820046将代码粘贴到编辑器中,选择整个代码块,然后按
{}
按钮,要获得编辑的一般帮助,请单击编辑器中的
按钮。“我想我存储的数据不正确”-你怎么会这么想?为什么你认为数组会更好?请参见.Re:indentation-我在python中正确缩进了它,但在粘贴到这里时遇到了困难。@user6820046将代码粘贴到编辑器中,选择整个代码块,然后按
{}
按钮,有关编辑的一般帮助,请单击编辑器中的
按钮。“我的笔记”状态将数据组信息存储为“实”或“字符串”?我可以这样做吗?或者我应该按照你的建议使用字典吗?听起来你把数据类型和数据结构搞混了。字典是存储信息的结构。如何输入这些信息取决于您。在我的示例中,使用的结构是一个
字典
,键的类型是
字符串
,值的类型是
int
。感谢澄清,我已经修改了代码,但是我得到了一个语法错误,我在一个新窗口中键入了以下内容:-cost={}cost['Themon]=450 cost['Larrec]=700 cost['Medrec']=500 cost['Parallel']=825 cost['Suncatch']=400 cost['Chantran']=975 print min(cost,key=cost.get)对于Python3.x中的
print
语句,我忘了必须将语句括在括号中;我更新了我的答案来反映这一点。非常感谢,这很有效。我可以再问几个问题吗?对于输入2和输入3,我需要向用户询问另一个输入,我该怎么做?我现在有4个字典列表:-成本、长度、宽度和面积,如何通过引用字典长度和宽度计算面积?再次感谢。我如何上传我的更新代码-我可以编辑我的主要帖子并在那里更新吗?我的笔记状态将甲板信息存储为real或string?我可以这样做吗?或者我应该按照你的建议使用字典吗?听起来你把数据类型和数据结构搞混了。字典是存储信息的结构。如何输入这些信息取决于您。在我的示例中,使用的结构是一个
字典
,键的类型是
字符串
,值的类型是
int
。感谢澄清,我已经修改了代码,但是我得到了一个语法错误,我在一个新窗口中键入了以下内容:-cost={}cost['Themon]=450 cost['Larrec]=700 cost['Medrec']=500 cost['Parallel']=825 cost['Suncatch']=400 cost['Chantran']=975 print min(cost,key=cost.get)对于Python3.x中的
print
语句,我忘了必须将语句括在括号中;我更新了我的答案来反映这一点。非常感谢,这很有效。我可以再问几个问题吗?对于输入2和输入3,我需要向用户询问另一个输入,我该怎么做?我现在有4个字典列表:-成本、长度、宽度和面积,如何通过引用字典长度和宽度计算面积?再次感谢。我如何上传我的更新代码-我可以编辑我的主要帖子并在那里更新吗?