Próbuję powtarzania ciąg w Pythonie.Powtarzanie ciągu Python
#!/bin/python
str = 'Hello There'
print str[:5]*2
Wyjście
HelloHello
wymaganej wydajności
Hello Hello
Czy ktoś może wskazać mi właściwy kierunek.
wersja Pythona: 2.6.4
Próbuję powtarzania ciąg w Pythonie.Powtarzanie ciągu Python
#!/bin/python
str = 'Hello There'
print str[:5]*2
Wyjście
HelloHello
wymaganej wydajności
Hello Hello
Czy ktoś może wskazać mi właściwy kierunek.
wersja Pythona: 2.6.4
Wykonaj:
str = 'Hello There'
print str[:6]*2
że będzie reklama spacji po drugie "Hello", czy to w porządku. Również, jak powiedział rajpy, nie powinieneś używać str
jako zmiennej, ponieważ jest to słowo kluczowe w pythonie.
Bo wtedy dostajesz przestrzeń pomiędzy dwoma słowami i umieszczenie go w między komentarzy na
że powinno działać!
P.S nie potrzebne #!/bin/python
Spróbuj tego:
print (str[:5] + ' ') * 2
Jeśli chcesz określić miejsce spływu wyraźnie.
W przykładzie, można zrobić:
print str[:6] * 2
Proszę nie używać wbudowanych typów (str, int itp ..) jak zmiennych w programie, to cienie jego rzeczywisty sens.
import re
str = 'Hello There'
m = re.match("(\w+\)",str)
m.group(1) * 2
Oto alternatywne rozwiązanie, wykorzystując ciąg formatowanie z wielokrotnym index:
print "{0} {0}".format(s[:5]) # prints "Hello Hello" if s is "Hello World"
To będzie działać dobrze, jeśli wiemy z wyprzedzeniem, jak chcesz, aby powtórzyć swój ciąg. Jeśli chcesz, aby liczba powtórzeń była zmienna w czasie wykonywania, użycie str.join
, jak w odpowiedzi nuront jest prawdopodobnie lepsze.
Zaletą korzystania z formatowania ciągów jest to, że nie jesteś ograniczony tylko do powtórzeń, ale możesz to zrobić z łatwością. Można też zrobić inne zdobienia w okolicach napisu, jeśli chcesz (i kopie nie muszą być traktowane tak samo):
print "[{0!r}] ({0:_^15})".format(s[:5]) # prints "['Hello'] (_____Hello_____)"
To drukuje repr
pierwszego kopia napisu wewnątrz nawiasów kwadratowych, po których następuje druga kopia w nawiasach, wyśrodkowana i dopełniona podkreśleniami o szerokości 15 znaków.
Bardzo interesujące. Szczególnie druga część :) – misguided
W przypadku, jeśli chcesz po prostu powtórzyć dowolny ciąg znaków „Hello World” * 2
Czy wymagana moc mają spacją po drugim 'Hello'? – jozzas
@jozzas no mate.Noc kończąca się spacja po drugim cześć. – misguided