Найти - Пользователи
Полная версия: Помогите новичку
Начало » Python для новичков » Помогите новичку
1 2 3 4 5
Egorro13
angree77
значение value увеличивается на 1-ку
Так на 1 надо увеличивать значение, хранящееся в словаре, а не переменную, равную 0 и нигде больше не используемую
JOHN_16
посмотрите на то как называется ваша переменная со словами, как называется аргумент функции и на имена используемые внутри вашей функции… В этом и проблема. Помимо того что вы не научились более грамотно формулировать т отч оу вас не получается, но это должно прийти со временем.
angree77
JOHN_16
но это должно прийти со временем
Ну как говорится москва тоже не сразу строилась… учусь стараюсь, пока на начальном этапе нахожусь…

Egorro13
Так на 1 надо увеличивать значение, хранящееся в словаре, а не переменную, равную 0 и нигде больше не используемую
Спасибо попробую….
angree77
Решение:
words = input()
words = words.lower().split() #переводим все в нижний регистр и разделяем
s=set(words) # убираем повторения
d = dict.fromkeys(s,0) # создаем словарь
for key in words: #цикл по словам из stdin
if key in d: #смотрим повторяется ли слово в словаре, а оно повторяется :)
d[key] += 1
else:
d[key] = 1

for key in d:
print(key, d[key]) #выводим значения
warlife
Молодец парень старается пытается выучить, а вы те кто знает и понимает вместо того чтобы упрекать его, и хвалить себя типа я бы за 10 минут сделал, лучше бы помогли советом, в принципе он об этом вас и просит.
py.user.next
warlife
и хвалить себя типа я бы за 10 минут сделал, лучше бы помогли советом, в принципе он об этом вас и просит.
Ты, может, невнимательно прочитал топик, а может просто умственно отсталый и из-за этого не понял нифига. В принципе за десять минут я ему и написал функцию, которая делает всю основную работу. Больше времени ушло на выяснение у него задания.
angree77
Други помогите найти где ошибся,
Условие задачи:
Имеется реализованная функция f(x), принимающая на вход целое число x, которая вычисляет некоторое целочисленое значение и возвращает его в качестве результата работы.
Функция вычисляется достаточно долго, ничего не выводит на экран, не пишет в файлы и зависит только от переданного аргумента x.
Напишите программу, которой на вход в первой строке подаётся число n — количество значений x, для которых требуется узнать значение функции f(x), после чего сами эти x значений, каждое на отдельной строке. Программа должна после каждого введённого значения аргумента вывести соответствующие значения функции f на отдельной строке.
Для ускорения вычисления необходимо сохранять уже вычисленные значения функции при известных аргументах.
Обратите внимание, что в этой задаче установлено достаточно сильное ограничение в две секунды по времени исполнения кода на тесте.
Решение:
k = int(input())
d = {}
for i in range(k):
n = int(input())
d[i] = f(n)
print(d[i])
выходные данные совпадают с ответом по задаче но не проходит тест, из-за того программа продолжает считывать данные,
если меняю цикл for на while i <= k то программа вываливает ошибку на значение n = int(input()) File “jailed_code”, line 11, in <module>
n = int(input())
EOFError: EOF when reading a line
вариант воткнуть while после цикла for с выводом значений сразу приводит к time limit exceed
Egorro13
angree77
 d[i] = f(n)
Тут смысл в том, что в ячейке d(n) сохраняется результат функции f(n), перед каждым запуском функции проверяется - вдруг для этого n результат уже сохранен. А у тебя просто выполняется f для всех подряд аргументов, даже если все будут одинаковыми
angree77
Egorro13
Тут смысл в том, что в ячейке d(n) сохраняется значение функции f(n), перед каждым запуском функции проверяется - вдруг для этого n значение уже сохранено.
спасибо друг, оказывается надо сравнивать значения, что поступают на вход, с теми что уже поступили…
есть уже пара мыслишек как реализовать это
updated
да так и оказалось, надо сравнивать те значения что поступают с теми что поступили, сделал проверку задача решена….
angree77
Уважаемые гуру питона подскажите как в строке подаваемой из вне отличить цифру от буквы?
Например имеется строка типа a32B103c4N5, и надо ее распаковать т.е. операция со строковыми переменными a*32+B*103+c*4+N*5, конечный результат приводить не буду, но запишу кратко
a повторяется 32 раза, В повторяется 103 раза, с 4 раза и N 5 раз,
я сделал подобное, но только когда цифра имеет всего 1 разряд, т.е. в цикле range с шагом 2
подскажите в каком направлении хотя бы копать?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB