🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216867

Re: elementarne pytania z pythona

#216867
From: fir
Date: Sat, 11 Apr 2020 09:55
77 lines
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-mail
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>

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