我正在开发一个程序,让用户输入他们想要的晚餐,然后输出购物清单。目前,用户可以输入他们想要的餐点,并且将打印出按照产品,肉类和其他顺序排序的列表。
我希望程序在前面输出没有类别编号的材料,并在每次输入后使用换行符但是我在处理列表而不是字符串时遇到了一些问题。到目前为止,我已经尝试了一个正则表达式来替换没有任何数字或用数字替换数字。
如果有人知道两次进入玉米片的方法并且打印2xchicken而不是鸡两次,则获得积分。
enter code here
strog = ["3 egg noddles", "3 beef broth", "2 steak"]
c_soup = ["2 bone in chicken", "1 carrots", "1 celery", "1 onion", "1 parsley"]
t_soup = ["3 tomato saucex2", "3 tomato paste", "1 celery"]
nachos = ["3 chips", "3 salsa", "3 black olives", "2 chicken", "3 cheese"]
grocery = []
done = []
food = ""
while food != done:
food = input("Please enter what you would like to eat. Enter done when finished: ")
grocery += (food)
grocery.sort()
print(grocery)
答案 0 :(得分:0)
您的代码还有其他一些问题,但您可以使用(例如)strog[0][2:]
通过new_strog = [x[2:] for x in strog]
解析类别编号和空格来获取strog或整个列表中的一个项目。< / p>
答案 1 :(得分:0)
好像你只需要学习普通的python string manipulation并列出&lt; - &gt;字符串转换(split
和join
)。
尝试这样的事情:
strog = ["3 egg noddles", "3 beef broth", "2 steak"]
for ingredient in strog:
print(" ".join(ingredient.split()[1:]))
或未经证实:
strog = ["3 egg noddles", "3 beef broth", "2 steak"]
for ingredient in strog:
pieces_list = ingredient.split()
food_list = pieces_list[1:]
ingredient_without_number = " ".join(food_list)
print(ingredient_without_number)