这是我的第一个小项目,也是第一个很抱歉的格式化问题。我有两个包含菜谱名称作为字符串的列表。我想问用户他们想要多少餐,然后随机选择。
然后,我想检查是否选择了一顿饭,并显示价格的膳食,我将存储在一个变量。
我的想法是将随机样本添加到新列表中,并通过if in语句检查内容。如果菜谱在新列表中,那么它将打印包含价格的变量。
然而,当我检查菜谱的新列表时,它并不认为它在列表中。有什么我错过的或者更好的方法吗?谢谢。
到目前为止我的代码是:
import random
Vegetarian = ["Jungle Curry", "Chickpea Curry", "Dhal", "Buddha Bowl",
"Chickpea Salad", "Lazy Noodles", "Fry Up"]
Meat = ["Chilli", "Butter Chicken", "Lamb and Hummus"]
v = int(raw_input("How many vegetarian meals this week? > "))
m = int(raw_input("How many meaty meals? > "))
Veg1 = random.sample(Vegetarian, v)
Meat2 = random.sample(Meat, m)
veg_week = []
meat_week = []
veg_week.append(Veg1)
meat_week.append(Meat2)
jungle_curry = 10
chickpea_curry = 10
if "Jungle Curry" and "Chickpea Curry" in veg_week:
print jungle_curry + chickpea_curry
发布于 2017-09-30 00:46:36
我会这样做的
import random
Vegetarian = ["Jungle Curry", "Chickpea Curry", "Dhal", "Buddha Bowl",
"Chickpea Salad", "Lazy Noodles", "Fry Up"]
Meat = ["Chilli", "Butter Chicken", "Lamb and Hummus"]
v = int(raw_input("How many vegetarian meals this week? > "))
m = int(raw_input("How many meaty meals? > "))
Veg1 = random.sample(Vegetarian, v)
Meat2 = random.sample(Meat, m)
veg_week = []
meat_week = []
veg_week.append(Veg1)
meat_week.append(Meat2)
# put the prices of each in the list too
Vegetarian_price = [10, 10, 10, 10, 10, 10, 10]
Meat_price = [20, 20, 20]
v_cost = 0
m_cost = 0
for i in range(len(Veg1)):
v_cost += Vegetarian_price[Vegetarian.index(Veg1[i])]
for i in range(len(Meat2)):
m_cost += Meat_price[Meat.index(Meat2[i])]
print v_cost,m_cost
发布于 2017-09-30 00:35:38
你犯了几个错误,让我们重温一下:
random.sample
的结果是一个列表;当您调用veg_week.append(Veg1‘)时,您将创建一个列表列表。10
值赋值给jungle_curry
和chickpea_curry
。"Jungle Curry"
和"Chickpea Curry"
是否都在所选的示例中;也许您想逐一检查这些是否在本周的菜单中?这应该更好地发挥作用:
import random
Vegetarian = ["Jungle Curry", "Chickpea Curry", "Dhal", "Buddha Bowl",
"Chickpea Salad", "Lazy Noodles", "Fry Up"]
Meat = ["Chilli", "Butter Chicken", "Lamb and Hummus"]
v = int(input("How many vegetarian meals this week? > "))
m = int(input("How many meaty meals? > "))
Veg1 = random.sample(Vegetarian, v)
Meat2 = random.sample(Meat, m)
if "Jungle Curry" and "Chickpea Curry" in veg1:
print(jungle_curry + chickpea_curry)
https://stackoverflow.com/questions/46500954
复制相似问题