如何为表中的字符串赋值?

时间:2015-03-04 11:12:04

标签: python-2.7

我试图为父母写一些代码'使用raw_input%s,无需使用纸张即可轻松引用的商家 客户解释了房间的尺寸和他们想要的地毯类型,并且他们得到报价,这不包括人工,折扣和gst。

我试图做的是将价格分配给我放在桌子上的地毯,我只是不知道如何CarpetPrice = ["Green", "Blue", "Yellow"] 如何为这些分配数字(价格)。

有关桌面困境或如何改进此代码的任何帮助或建议将不胜感激。

2 个答案:

答案 0 :(得分:0)

所以让我们做出以下假设:

  1. 您询问客户他们想要铺地毯的房间/区域的长度和宽度(比如他们以米为单位输入)
  2. 您问客户他们想要使用哪种颜色的地毯
  3. 每种地毯颜色都有相关的每平方米价格
  4. 你可以卖几分之一平方米的地毯(你可以卖10.5平方米的地毯,不用强迫顾客买11平方米的地毯)
  5. 此代码应该为您完成工作:

    while True:
        try: width = float(raw_input("Please enter the width of the room: "))
        except: continue
        else: break
    
    while True:
        try: length = float(raw_input("Please enter the length of the room: "))
        except: continue
        else: break
    
    color = None
    validColors = set('green yellow blue'.split())
    while color not in validColors:
        color = raw_input("Please enter the desired carpet color: ").lower()
    
    unitPrices = {'green':10, 'yellow': 20.5, 'red':15}
    print "The carpet price for a %(color)s carpet to fill an area of %(width)s m x %(length)s m = %(area)s sq. m. is $ %(cost)s" %{'color':color, 'width':width, 'length':length, 'area':width*length, 'cost':unitPrices[color]*width*length}
    

答案 1 :(得分:0)

dict旁边的另一个解决方案是使用元组:

a = [1,2,3,4,5]

b = ['a', 'b', 'c', 'd', 'e']

zipped = zip(a, b)

压缩输出:

[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]