Найти - Пользователи
Полная версия: Простейшие задачи
Начало » Python для новичков » Простейшие задачи
1
Nikki1
1) Имеется строка, найти (посчитать) количество букв “А”.
2) Дан список из N целых, упорядочить его по возрастанию.
fata1ex
>>> 'aaabbcbdcaasa'.count('a')
6
>>> sorted([3,4,2,1,8,5])
[1, 2, 3, 4, 5, 8]
FishHook
Первая задача не так проста как кажется, вот правильное решение
# -*- 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
Singularity

FishHook, Почему ? Работает ведь

FishHook
Singularity
FishHook, Почему ? Работает ведь

На самом деле я не проверял, работает или нет
Singularity

FishHook: Первая задача не так проста как кажется, вот правильное решение

FishHook, Ищо раз. Почему ? Вариант fata1ex"а работает

PooH
Singularity
FishHook, Ищо раз. Почему ?
Ну пошутил он, пошутил. Подбросил ТС рабочий вариант, но такой чтобы при сдаче у преподавателя глаза на лоб полезли.
belyak
s = ‘ASshajhsA’
reduce( lambda a,b: a+b, [1 if c == ‘A’ else 0 for c in s])

2
4kpt
PooH
Препод преподу рознь…
Не у всех глаза на лоб полезут :)
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