Найти - Пользователи
Полная версия: Не очень красивое решение
Начало » Python для новичков » Не очень красивое решение
1 2 3
johniek_comp
Нужно сделать цикл с n итерациями, где n это кол-во символов в строке, я сделал но может можно по красивее?
for i in range(1,len(s)+1):
    print i
reclosedev
Если не нужен индекс:
for c in s:
    print c
если нужен индекс:
for i, c in enumerate(s):
    print i, c
если индекс должен начинаться с 1:
for i, c in enumerate(s, 1):
    print i, c
johniek_comp
Ещё вопрос, а как проверить что строка состоит с одних и тех же символов?

str = "aaaaaaa"
reclosedev
johniek_comp
Ещё вопрос, а как проверить что строка состоит из одних и тех же символов?
Можно так:
In [1]: s1 = 'aaaaaaaa'
 
In [2]: s2 = 'aaaaaab'
 
In [3]: len(set(s1)) == 1
Out[3]: True
 
In [4]: len(set(s2)) == 1
Out[4]: False
или так:
In [5]: all(s1[0] == c for c in s1)
Out[5]: True
 
In [6]: all(s2[0] == c for c in s2)
Out[6]: False
doza_and

>>> a="aaaaaaaaaa"
>>> import re
>>> re.match(a[0]+"+$",a)
<_sre.SRE_Match object at 0x01219E20>
>>> re.match(b[0]+"+$",b)
>>> 

p.s.
постарайтесь не называть переменную str - при этом вы не сможете использовать встроенную функцию str преобразующую любой объект в строку
asilyator
doza_and
p.s.
постарайтесь не называть переменную str - при этом вы не сможете использовать встроенную функцию str преобразующую любой объект в строку
Питон такой питон - все логичные имена заняты, на перезапись ничто не матерится.

doza_and, ты имхо ^ забыл.
Вот еще вариант.
a="aaaaaaaaaa"
a.count(a[0]) == len(a)
regall
doza_and
постарайтесь не называть переменную str - при этом вы не сможете использовать встроенную функцию str преобразующую любой объект в строку
Отчего же, можно использовать:
>>> str = 1
>>> del str
>>> str(5)
'5'

P.S. Гораздо веселее так:
>>> __builtins__.str = 123
>>> str
123

P.S. Это так, 5 копеек чисто…
o7412369815963
asilyator
doza_and, ты имхо ^ забыл.
Для match “^” не нужен, он всегда с начала строки проверяет.
asilyator
А ну да, еще один питонокостыль, добавили лишнюю фунцию - и запоминай, какая из них что делает. В перле регекспы были поприятнее, зато в питоне есть сырые строки и re.escape.
py.user.next
asilyator
А ну да, еще один питонокостыль, добавили лишнюю фунцию - и запоминай, какая из них что делает.

они различаются
>>> re.search(r'^....$', 'abc\ndefg\nhijk', re.M).group()
'defg'
>>> re.match(r'^....$', 'abc\ndefg\nhijk', re.M).group()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group'
>>>

там ещё есть re.compile(), которая компилирует regex-объект, у которого тоже оба этих метода есть
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