Найти - Пользователи
Полная версия: Не могу понять как разработать функцию count_holes(n)
Начало » Центр помощи » Не могу понять как разработать функцию count_holes(n)
1 2 3
terabayt
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
Xryst
py.user.next
спасбо, буду разбиратся….твой вариант не учел ошибки при вводе 69L
JOHN_16
terabayt
str(value).lstrip('0')
Не сработает в случае:
>>> value='000'
>>> str(value).lstrip('0')
''
>>>
Xryst
terabayt
А что значит этот рядок
assert isinstance(n, (str, int, long))
??
terabayt
JOHN_16
Не сработает в случае:
да, уже понял
извините, сразу не подумал
terabayt
Xryst
А что значит этот рядок
http://pythoner.name/isinstance-type
хабра
TroSer
Xryst
А что значит
А где это вы такие задания сдаете?
py.user.next
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
>>>
Xryst
py.user.next
Ну и вот, самый главный вопрос, как не в щитывать этот “L” ?
Xryst
Всем спасибо! Из Вашей помощью разобрался…
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