Article View: pl.comp.programming
Article #216867Re: elementarne pytania z pythona
From: fir
Date: Sat, 11 Apr 2020 09:55
Date: Sat, 11 Apr 2020 09:55
77 lines
4423 bytes
4423 bytes
W dniu sobota, 11 kwietnia 2020 11:33:54 UTC+2 użytkownik Piotr Chamera napisał:
> W dniu 2020-04-11 o 11:16, fir pisze:
> > W dniu piątek, 10 kwietnia 2020 20:35:21 UTC+2 użytkownik fir napisał:
> >> W dniu piątek, 10 kwietnia 2020 19:33:33 UTC+2 użytkownik Piotr Chamera napisał:
> >>> W dniu 2020-04-10 o 12:59, fir pisze:
> >>>> ostatnio troche odpoczalem i mysle sobie by cos postudiowac moze rootkity moze opencl..ale stanelo jadnak na podstawah pythona ;C
> >>>>
> >>>> morugam bo jest to troche lamerskie ale z drugiej strony potrzebowalem napisac bota na nasz ircowy kanal
> >>>>
> >>>> nie znam jednak zupelnych podstaw na dwutygodniowe lektury podrecznikow troche szkoda mi czasu i moze tu bedzie szybciej
> >>>>
> >>>> mam test typu
> >>>>
> >>>> msg = "cytuj pnnn 1232"
> >>>>
> >>>> i potrzebuje dobrac sie do tej trzeciej liczby i pobrac jej wartosc, pod warunkiem ze pocztek stringa bedzie wlasnie "cytuj pnnn" z kolei jesli tam bedzie nic albo nie liczna tez chcialbym miec to zdetektowane
> >>>>
> >>>> jaki to kod? tnx
> >>>
> >>> Można użyć wyrażeń, regularnych (pisałem w pythonie 2.7, w 3.x powinno
> >>> być podobnie)
> >>>
> >>> import re
> >>> m = re.match(u"(cytuj pnnn )(\d+)", msg)
> >>>
> >>> jeśli nie dopasuje do wzorca m będzie None
> >>> jeśli dopasuje, to za pomocą group() można pobrać poszczególne części
> >>> dopasowania
> >>>
> >>> >>> m.group(0)
> >>> u'cytuj pnnn 1234'
> >>>
> >>> >>> m.group(1)
> >>> u'cytuj pnnn '
> >>>
> >>> >>> m.group(2)
> >>> u'1234'
> >>>
> >>> >>> int(m.group(2))
> >>> 1234
> >>
> >> ok tnx zobacze troche pozniej, tez python 2.7
> >
> > nie dziala ale poprawdzie to troche uproscilem konkretny string jest taki
> >
> > :fir!~pirc@vhost:freedom.freakz PRIVMSG #grunge :minion ogniem 222
> >
> >
> > chodzi o to by ignorowal poczatek wymagal ":minion ogniem" i bral liczbe po tym
> >
> > ta liczba pozniej jest numerem lini z pliku tekstaowego ksiazki np "ogniem i mieczem" ktor moj bot minion zacytuje na kanal
> >
> > wie moze kolega?
> >
> > (wiem ze moglbym sie wczytac ale narazi enie mam sily i poszukuje prostej drogi poki nie skumuluje energii)
> >
>
> Warto przejrzeć przynajmniej dokumentację modułu wyrażeń regularnach.
> przy dopasowaniu wzorców tekstowych to bardzo dobre narządzie.
>
> >>> import re
> >>> msg = u":fir!~pirc@vhost:freedom.freakz PRIVMSG #grunge :minion
> ogniem 222"
> >>> m = re.match(u".*?(:minion ogniem )(\d+)", msg)
> >>> int(m.group(2))
> 222
ale jak odrzucic kod z tym none
ten kod chyba dziala ale czy m moze byc none? i czy skipnie to say gdy nie znajdzie wyrazenia? (doucze sie z tego z czasem ale narzie nie che sie w to zbyt wczytywac, cala amsa innych rzeczy nie robi tymczasem problemu )
mm = re.match(u".*?(:minion ogniem )(\d+)", ircmsg)
m = int(mm.group(2))
if m :
say( ogniem_i_mieczem_text[m])
say( ogniem_i_mieczem_text[m+1])
Technical Details
Message-ID:
<fb261642-c7b9-45c8-bf14-1c6eaa64d578@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<60d7e74e-19ff-4601-83d2-c42e01baa1f6@googlegroups.com> <r6qalc$b4t$1@dont-email.me> <35a7e0da-aafd-48be-84e0-dfbc14674e4f@googlegroups.com> <bf7a5c3a-4d6e-4d07-8067-58e3f32a511a@googlegroups.com> <r6s2u1$a7q$1@dont-email.me>Show Full Headers
Complete Article Headers
X-Received: by 2002:aed:33a6:: with SMTP id v35mr2897879qtd.328.1586598944713; Sat, 11 Apr 2020 02:55:44 -0700 (PDT) X-Received: by 2002:ac8:6753:: with SMTP id n19mr2952673qtp.353.1586598944548; Sat, 11 Apr 2020 02:55:44 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Sat, 11 Apr 2020 02:55:43 -0700 (PDT) In-Reply-To: <r6s2u1$a7q$1@dont-email.me> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=5.172.255.167; posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN NNTP-Posting-Host: 5.172.255.167 References: <60d7e74e-19ff-4601-83d2-c42e01baa1f6@googlegroups.com> <r6qalc$b4t$1@dont-email.me> <35a7e0da-aafd-48be-84e0-dfbc14674e4f@googlegroups.com> <bf7a5c3a-4d6e-4d07-8067-58e3f32a511a@googlegroups.com> <r6s2u1$a7q$1@dont-email.me> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <fb261642-c7b9-45c8-bf14-1c6eaa64d578@googlegroups.com> Subject: Re: elementarne pytania z pythona From: fir <profesor.fir@gmail.com> Injection-Date: Sat, 11 Apr 2020 09:55:44 +0000 Lines: 93 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit