Форум сайта python.su
0
1) Имеется строка, найти (посчитать) количество букв “А”.
2) Дан список из N целых, упорядочить его по возрастанию.
Офлайн
52
>>> 'aaabbcbdcaasa'.count('a') 6 >>> sorted([3,4,2,1,8,5]) [1, 2, 3, 4, 5, 8]
Офлайн
568
Первая задача не так проста как кажется, вот правильное решение
# -*- coding:utf-8 -*- from collections import Counter class StringWithCounter(): class Getter(object): def __init__(self, _string): self.c=Counter(_string) def __getattr__(self, attr): if len(attr)>1: raise Exception(u'The function only accepts letters, not a strings') return self.c[attr] def __init__(self, _string): self.string=_string def __setattr__(self, attr, value): if attr == 'string': self.get_a_count=self.Getter(value) self.__dict__[attr]=value s=StringWithCounter('dfsdfsdfsdfsdf') print s.get_a_count.d s.string="ooooooooooooooooooooooo" print s.get_a_count.o
Офлайн
75
FishHook, Почему ? Работает ведь
Офлайн
568
SingularityНа самом деле я не проверял, работает или нет
FishHook, Почему ? Работает ведь
Офлайн
75
FishHook: Первая задача не так проста как кажется, вот правильное решение
FishHook, Ищо раз. Почему ? Вариант fata1ex"а работает
Офлайн
72
SingularityНу пошутил он, пошутил. Подбросил ТС рабочий вариант, но такой чтобы при сдаче у преподавателя глаза на лоб полезли.
FishHook, Ищо раз. Почему ?
Офлайн
1
s = ‘ASshajhsA’
reduce( lambda a,b: a+b, [1 if c == ‘A’ else 0 for c in s])
2
Офлайн
63
PooH
Препод преподу рознь…
Не у всех глаза на лоб полезут :)
Офлайн