Как из многострочного текста вытянуть значение python 3.x
У меня есть большой массив текста со значениями , к примеру План - 200 , факт - 300. Нужно чтобы программа распознавала слово "План" и возвращала значение 200 в переменную plan[] списком
далее для наглядности как это будет выглядеть:
artem = input('Введите Ваш отчет: ')
semen = input('Введите Ваш отчет: ')
kolya = input('Введите Ваш отчет: ')
def plan(x):
if 'План' in x:
plan[200] #Мне нужно чтобы в этот список попадало значение Плана из строки (оно может быть разным)
plan(artem)
plan(semen)
plan(kolya)
def kalkulator (a,b,c,d,e):
return a + b + c + d + e
print(kalkulator(plan))
#отчет будет прилетать из вне в виде скопированного сообщения из вайбера вот в таком виде одним сообщением через энтер
План - 200
Факт- 216
Напитки план-10 Напитки факт-4
Визиты - 20 Заказы - 19
Эффективность - 95% x - 9.9
w -3,5
q -4,5
gop - 44,16
#так же столкнулся с ошибкой что так как текст написан через энтер при ctl-c ctrl-v терминал распознает только первую строчку
Ответы (1 шт):
Не называйте имена переменных именами функций, иначе питон будет их путать
Я предложу свой вариант решения, только формат записи должен быть в едином варианте. Если вы пишите, что входными данными могут быть:
word - word word- wors,Word-Word\nword-word, то придержитесь одного, например:word- word\nword - word, или если одна пара:word-word.
artem = input('Введите Ваш отчет: ') '''План - 200
Факт - 216'''
semen = input('Введите Ваш отчет: ') '''
План - 500
Факт- 219
Напиток-300
'''
kolya = input('Введите Ваш отчет: ') '''План - 200'''
plan_list = []
def plan(x):
if 'План' in x:
for val in x.split('\n'):
if val.split('-')[0].strip() == 'План':
plan_list.append(int(val.split('-')[1].strip()))
return plan_list
plan(artem)
plan(semen)
plan(kolya)
print(sum(plan_list)) # можно так(сумма значений в списке)
def kalkulator(vals): # можно так(через функцию)
sum_nums = 0
for num in vals:
sum_nums += num
return sum_nums
print(kalkulator(plan_list))
Вывод:
900
900