Форум сайта python.su
Привет всем, срочно нужно, прошу помогите пожалуйста.
///1///
Написать функцию, принимающую 2 целых числа (a,b) и возвращающую минимальное положительное из промежутка
///2///
Строка Ы, найти самый повторяющийся символ в строке.
Офлайн
1)
>>> def func(a, b):
... if a > b:
... a, b = b, a
... lst = [i for i in range(a, b + 1) if i > 0]
... return min(lst) if lst else -1
...
>>>
>>> func(100, 200)
100
>>> func(-100, 100)
1
>>> func(-100, 1)
1
>>> func(-100, 0)
-1
>>> func(-100, -1)
-1
>>> func(-100, -2)
-1
>>>
>>> def func(s):
... return max(s, key=lambda c: s.count(c)) if s else s
...
>>> func('abcdefg')
'a'
>>> func('abcbdefg')
'b'
>>> func('abcbdecfg')
'b'
>>> func('abcbdecfcg')
'c'
>>> func('addbcbdecfcg')
'd'
>>> func('')
''
>>>
Офлайн
1)
def func(a, b):
if max(a, b) > 1:
return max(1, min(a, b))
return None
S = 'addbcbdecfcg'
I = 0
for s in set(S):
i = S.count(s)
if i >= I:
I = i
print i, s
Отредактировано (Янв. 13, 2012 04:49:24)
Офлайн
>>> def f(a,b):
if a*b<0: return 1
return min(a,b) if a>0 and b>0 else -1
>>> f(9,8)
8
>>> f(9,-8)
1
>>> f(-9,-8)
-1
>>>
Офлайн
Если нужен список символов, которые встречаются максимальное кол-во раз
a="swedcfwsedfwefwefwefwef'
z={x:a.count(x) for x in a}
[x for x in z if z[x]==max(z.values())]
Офлайн
py.user.nextЭто первое, что вам приходит в голову?
1)
Офлайн
baadef func(a, b):
if max(a, b) > 1:
return max(1, min(a, b))
return None
>>> func(-3, 1)
>>> func(1, -1)
>>>
Isemсписок можно убрать
Это первое, что вам приходит в голову?
>>> def func(a, b):
... if a <= 0 and b <= 0:
... return -1
... if a > 1 and b > 1:
... return min(a, b)
... return 1
...
>>> func(-2, -1)
-1
>>> func(-2, 0)
-1
>>> func(0, -2)
-1
>>> func(0, 0)
-1
>>> func(0, 1)
1
>>> func(1, 0)
1
>>> func(1, 1)
1
>>> func(1, 2)
1
>>> func(2, 2)
2
>>> func(2, 10)
2
>>> func(-10, 10)
1
>>>
Отредактировано (Янв. 16, 2012 23:13:38)
Офлайн