Уведомления

Группа в Telegram: @pythonsu

#1 Март 2, 2015 00:50:48

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Не могу понять как разработать функцию count_holes(n)

def count_holes(n, a = 0):
    try:
        assert isinstance(n, (str, int, long))
        n = int(n)
    except:
        return "ERROR"
    c = {'0': 1, '4': 1, '6': 1, '8': 2, '9': 1}
    for i in str(n):
        a += c.get(i, 0)
    return a



————————————————
-*- Simple is better than complex -*-

Офлайн

#2 Март 2, 2015 00:52:25

Xryst
Зарегистрирован: 2015-01-30
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять как разработать функцию count_holes(n)

py.user.next
спасбо, буду разбиратся….твой вариант не учел ошибки при вводе 69L

Офлайн

#3 Март 2, 2015 00:58:49

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Не могу понять как разработать функцию count_holes(n)

terabayt
str(value).lstrip('0')
Не сработает в случае:
>>> value='000'
>>> str(value).lstrip('0')
''
>>>



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Март 2, 2015 01:00:07

Xryst
Зарегистрирован: 2015-01-30
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять как разработать функцию count_holes(n)

terabayt
А что значит этот рядок
assert isinstance(n, (str, int, long))
??

Офлайн

#5 Март 2, 2015 01:05:06

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Не могу понять как разработать функцию count_holes(n)

JOHN_16
Не сработает в случае:
да, уже понял
извините, сразу не подумал



————————————————
-*- Simple is better than complex -*-

Офлайн

#6 Март 2, 2015 01:06:27

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Не могу понять как разработать функцию count_holes(n)

Xryst
А что значит этот рядок
http://pythoner.name/isinstance-type
хабра



————————————————
-*- Simple is better than complex -*-

Офлайн

#7 Март 2, 2015 11:01:38

TroSer
От: Харьков
Зарегистрирован: 2013-11-13
Сообщения: 65
Репутация: +  3  -
Профиль   Отправить e-mail  

Не могу понять как разработать функцию count_holes(n)

Xryst
А что значит
А где это вы такие задания сдаете?

Офлайн

#8 Март 2, 2015 12:21:54

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Не могу понять как разработать функцию count_holes(n)

terabayt
def count_holes(n, a = 0):

[guest@localhost nholes]$ python -m doctest nholes.doct2
**********************************************************************
File "nholes.doct2", line 108, in nholes.doct2
Failed example:
f('1\n')
Expected:
'ERROR'
Got:
0
**********************************************************************
File "nholes.doct2", line 110, in nholes.doct2
Failed example:
f('\n1')
Expected:
'ERROR'
Got:
0
**********************************************************************
File "nholes.doct2", line 112, in nholes.doct2
Failed example:
f('1 ')
Expected:
'ERROR'
Got:
0
**********************************************************************
File "nholes.doct2", line 114, in nholes.doct2
Failed example:
f(' 1')
Expected:
'ERROR'
Got:
0
**********************************************************************
1 items had failures:
4 of 54 in nholes.doct2
***Test Failed*** 4 failures.
[guest@localhost nholes]$

Xryst
твой вариант не учел ошибки при вводе 69L
Ну да, он же для третьего питона, в котором нет L.
>>> 69L
  File "<stdin>", line 1
    69L
      ^
SyntaxError: invalid syntax
>>>



Офлайн

#9 Март 2, 2015 16:21:48

Xryst
Зарегистрирован: 2015-01-30
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять как разработать функцию count_holes(n)

py.user.next
Ну и вот, самый главный вопрос, как не в щитывать этот “L” ?

Офлайн

#10 Март 2, 2015 19:37:31

Xryst
Зарегистрирован: 2015-01-30
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять как разработать функцию count_holes(n)

Всем спасибо! Из Вашей помощью разобрался…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version