Article View: pl.comp.lang.python
Article #28111Re: Dziwaczne zachowanie Pythona i funkcji input() w zewnętrznych edytorach
From: konryd
Date: Tue, 24 May 2011 21:57
Date: Tue, 24 May 2011 21:57
42 lines
3507 bytes
3507 bytes
On 23 Maj, 17:53, sunrrrise <sunrrr...@gmail.com> wrote:
> Witam,
> jest to mój pierwszy post w tej grupie:)
Witaj, zapraszamy :)
> Próbuję nauczyć się Pythona, który coraz bardziej podoba mi się ze względu na swoja intuicyjność. Niestety mam pewien problem nieznanej natury. Do pisania używałem Notepad++ oraz Komodo Edit. Próbowałem też IDLE, ale jego GUI jest okropne.
>
> Niestety używanie dwóch pierwszych jest niewykonalne - ten sam kod zachowuje się zupełnie inaczej.
>
> Przykładowo, kod o treści:
> [...]
Przyznam się że mnie rozwaliłeś - to nie ma prawa nie działać. Ale z
rzeczy, które mogłyby Ci pomóc:
1. Możesz mieć różne wersje Pythona w których Twój kod się uruchamia.
W żadnej, którą znam nie powinno się dziać tak jak piszesz, ale możesz
chcieć to sprawdzić wpisując: import sys; print sys.version
2. Jesteś absolutnie pewien że to ten sam kod? (copy&paste do IDLE/
edytora/maila?). To naprawdę zachowuje się dziwnie. A możliwe że coś
namieszałeś z cudzysłowami.
3. W celu debugowania warto posłużyć się funkcją repr(). Działa tak
jak str(), tylko że z reguły daje do zrozumienia, czym argument tak
naprawdę jest. W szczególności przy wypisywanie stringa nie wypisze go
po prostu, ale ubranego w cudzysłowy (w przypadku większości typów
wbudowanych repr generuje reprezentację, którą można będzie traktować
jak kod). Możesz np napisać tak:
b = input("wprowadz b: ")
print("wprowadziles: ", repr(b))
4. Inna możliwość to jakieś problemy z terminalem, z którego
korzystasz. Spróbuj odpalić kod normalnie z konsoli (w windowsie:
uruchom: "cmd", znajdź Pythona i w ten sposób odpalaj kod, na maku
odpal terminal, a w linuksie pewnie wiesz :D)
5. Z innych uwag: jeśli nie korzystasz z Pythona 3, funkcja input
zachowuje się trochę dziwnie, tzn. próbuje wykonywać string, który
wpisałeś, tak jakby to był kod. Jeśli chcesz po prostu wczytać coś z
konsoli, użyj raw_input. W Pythonie 3 już to poprawiono.
6. Nie musisz wszystkiego pakować nawiasy :)
powodzenia,
Konrad
Technical Details
Message-ID:
<00f6a223-aa88-480f-ad9a-9252c2b480e1@v8g2000yqb.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!lublin.pl!uw.edu.pl!newsgate.cistron.nl!newsgate.news.xs4all.nl!news2.euro.net!news.glorb.com!postnews.google.com!v8g2000yqb.googlegroups.com!not-for-mailReferences:
<b9955996-78e2-4854-9ed4-c615351dfb52@glegroupsg2000goo.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!lublin.pl!uw.edu.pl!newsgate.cistron.nl!newsgate.news.xs4all.nl!news2.euro.net!news.glorb.com!postnews.google.com!v8g2000yqb.googlegroups.com!not-for-mail From: konryd <konryd@gmail.com> Newsgroups: pl.comp.lang.python Subject: Re: Dziwaczne zachowanie Pythona i funkcji input() w zewnętrznych edytorach Date: Tue, 24 May 2011 14:57:20 -0700 (PDT) Organization: http://groups.google.com Lines: 55 Message-ID: <00f6a223-aa88-480f-ad9a-9252c2b480e1@v8g2000yqb.googlegroups.com> References: <b9955996-78e2-4854-9ed4-c615351dfb52@glegroupsg2000goo.googlegroups.com> NNTP-Posting-Host: 89.76.244.137 Mime-Version: 1.0 X-Trace: posting.google.com 1306274240 23478 127.0.0.1 (24 May 2011 21:57:20 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 24 May 2011 21:57:20 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: v8g2000yqb.googlegroups.com; posting-host=89.76.244.137; posting-account=aDndZQoAAAAVGIvuzhmu9BAwin0ClpmR User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-Header-Order: HNKRUAELSC X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_7) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.68 Safari/534.24,gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit