Многократный raw_input и поиск

Поскольку программирование является одним из моих любимых хобби, я начал маленький проект у питона.

Я пытаюсь сделать пищевой калькулятор для распорядка дня, видеть код ниже:

# Name: nutri.py 
# Author: pyn

my_dict = {'chicken':(40, 50, 10),
        'pork':(50, 30, 20)
         }

foods = raw_input("Enter your food: ")

#explode/split the user input

foods_list = foods.split(',')

#returns a list separated by comma

print foods_list

Что я хочу сделать:

  1. Получает ввод данных пользователем и хранит его в переменной
  2. Ищет словарь на основе ввода данных пользователем и возвращения связанные ценности, если ключи/продукты существуют
  3. Сумма эти ценности в различных пищевых кусках и возвращает их, что-то как: Вы съели x белок, y углеводы и z жир и т.д.

Любые идеи приветствуются.

0
nl ja de

3 ответы

Вот мое решение, Оно проверяет, находится ли еда в словаре и укажет если нет.

my_dict = {'chicken':(40, 50, 10),
        'pork':(50, 30, 20)
         }

foods = raw_input("Enter your food: ")

foods_list = foods.split(',')

empty_list = []
for food in foods_list:
    if food in my_dict:
        empty_list.append(list(my_dict[food]))
    else:
        print '%s has no nutritional information and will not be included in the calculation' % food

values = [sum(x) for x in zip(*empty_list)]

print 'Total protein = %d, Total Carbs = %d, Total Fat = %d' % (values[0],values[1],values[2])

Это производит:

Enter your food: chicken,pork,pizza
pizza has no nutritional information and will not be included in the calculation
Total protein = 90, Total Carbs = 80, Total Fat = 30
0
добавлено

Этот код сделает весь необходимый материал, который вы пытаетесь сделать:

my_dict = {'chicken':(40, 50, 10),
        'pork':(50, 30, 20)
         }

foods = raw_input("Enter your food: ")

#explode/split the user input

foods_list = foods.split(',')

#returns a list separated by comma

t=[0,0,0]

print foods_list

for i in foods_list:
    if i.strip() in my_dict:
        v=my_dict.get(i.strip())
        t[0]=t[0]+v[0]
        t[1]=t[1]+v[1]
        t[2]=t[2]+v[2]

print t
0
добавлено
my_dict = {'chicken':(40, 50, 10),
        'beef':(50, 30, 20)
         }

foods = raw_input("Enter your food: ")

#explode/split the user input

foods_list = foods.split(',')

#returns a list separated by comma

#print foods_list

nuts = [0, 0, 0]

for food in foods_list :
    if food.strip() in my_dict: 
        i = 0
        for value in  my_dict[food.strip()]:
            nuts[i] += value        
            i += 1  
print nuts  

scripts$ python nutrition.py
Enter your food: chicken, pork, beef
[90, 80, 30]


some improvements ;)
0
добавлено
чувак этот won' t работают, когда пользователь войдет в неправильный вход (еда). Я отправил один ниже этого. U может проверить это, он будет работать на любой случай.
добавлено автор shalki, источник
это будет работать теперь.
добавлено автор shalki, источник
ваш не работал бы, если пользователь входит в курицу, [космическую] свинину: P
добавлено автор Redian, источник
Это работает, спасибо.
добавлено автор neuraload, источник
Python
Python
7 654 участник(ов)

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/577926

Python beginners
Python beginners
4 449 участник(ов)

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Не злоупотребляйте стикерами. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Статистика тут: https://grstats.me/chat/x4qym2k5uvfkr3al6at7

pro.python
pro.python
1 090 участник(ов)

Сообщество разработчиков под Python Создатель: @rodgelius

Rude Python
Rude Python
971 участник(ов)

Python без „девочек”, здесь матерятся и унижают Django. Not gay friendly. Правила: t.me/rudepython/114107 @rudepython | t.me/rudepython

rupython
rupython
509 участник(ов)

Группа создана с целью оперативного получения ответов на возникающие вопросы по разработке на яп python, смежные темы, а также человеческого общения. Приветствую!

Python-programming
Python-programming
266 участник(ов)

Чат группы вконтакте https://vk.com/python_community