<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem nauka-pythona</title>
<link>https://forum.pasja-informatyki.pl/tag/nauka-pythona</link>
<description>Powered by Question2Answer</description>
<item>
<title>Jak pozbyć się zmiennej statycznej?</title>
<link>https://forum.pasja-informatyki.pl/599257/jak-pozbyc-sie-zmiennej-statycznej</link>
<description>

&lt;p&gt;Wie ktoś jak pozbyć zmiennej statycznej Menu.nesting_level i przekazywać zaktualizowane informacje dotyczące poziomu zagnieżdżenia Menu dopiero w momencie wywoływania metody menu.add_item np menu.add_item('Podmenu', submenu.loop)&amp;nbsp;lub menu.add_submenu? Nie wszystkie obiekty Menu mają być podmenu powiązanymi z innymi menu w programie.&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
from __future__ import annotations

import gettext
import locale
import sys
from dataclasses import dataclass
from typing import Callable, Optional, TextIO

from .user_input import print_input_error, redirect_stdio, wait_for_enter

# mypy and pylint don't work well with gettext.install
lang, _enc = locale.getlocale()
lang = lang or 'en'
_ = gettext.translation('python_misc',
                        localedir='locale',
                        languages=[lang, lang.split('_')[0], 'en'],
                        fallback=True).gettext


@dataclass(frozen=True)
class MenuItem:
    name: str
    action: Callable[[], None]
    key: Optional[str] = None
    visible: bool = True
    enabled: bool = True

    def __str__(self):
        return self.name


class Menu:
    nesting_level = -1

    def __init__(self,
                 title: str,
                 items: list[MenuItem], *,
                 quit_key: Optional[str] = 'q',
                 stdin: TextIO = sys.stdin,
                 stdout: TextIO = sys.stdout):
        self.title = title
        self.items = list(items)
        quit_item = MenuItem('Quit', self._quit, quit_key)
        self._check_for_duplicates(quit_item)
        self.items.append(quit_item)
        self.active = False
        self.quit_key = quit_key
        self.stdin = stdin
        self.stdout = stdout

    @property
    def visible_items(self):
        return [item for item in self.items if item.visible]

    def add_item(self,
                 name: str,
                 action: Callable[[], None],
                 key: Optional[str] = None) -&amp;gt; None:
        item = MenuItem(name, action, key)
        self._check_for_duplicates(item)
        self.items.insert(-1, item)

    def remove_item(self, name: str) -&amp;gt; bool:
        for idx, item in enumerate(self.items):
            if item.name == name:
                del self.items[idx]
                return True
        return False

    def add_submenu(self,
                    name: str,
                    menu: Menu,
                    key: Optional[str] = None) -&amp;gt; None:
        item = MenuItem(name, menu.loop, key)
        self._check_for_duplicates(item)
        self.items.insert(-1, item)

    def loop(self) -&amp;gt; None:
        with redirect_stdio(self.stdin, self.stdout):
            Menu.nesting_level += 1
            if Menu.nesting_level &amp;gt; 0:
                quit_item_title = _('Back')
            else:
                quit_item_title = _('Quit')
            quit_item = MenuItem(quit_item_title, self._quit, self.quit_key)
            self.items[-1] = quit_item
            self.active = True
            while self.active:
                user_choice = self._read_choice()
                if user_choice.action == self._quit:  # pylint: disable=W0143
                    self._quit()
                else:
                    try:
                        user_choice.action()
                        wait_for_enter()
                    except (EOFError, KeyboardInterrupt):
                        pass

    def _check_for_duplicates(self, candidate: MenuItem) -&amp;gt; None:
        for item in self.items:
            if (candidate.key is not None and item.key is not None
                    and candidate.key.lower() == item.key.lower()):
                raise ValueError('duplicate key')

    def _print_title(self) -&amp;gt; None:
        longest_item = max(len(item.name) for item in self.visible_items)
        has_key = any(item.key is not None for item in self.visible_items)
        if has_key:
            longest_key = max(len(item.key) for item in self.visible_items
                              if item.key is not None)
        else:
            longest_key = 0
        field_width = max(len(self.title), longest_item) + 2
        if longest_key &amp;gt; 0:
            field_width += longest_key
        line = '-' * (field_width + 2)
        print(line, file=self.stdout)
        print(f'|{self.title:^{field_width}}|', file=self.stdout)
        print(line, file=self.stdout)

    def _display_menu(self) -&amp;gt; None:
        self._print_title()
        longest = max(len(item.name) for item in self.visible_items)
        for idx, item in enumerate(self.visible_items, start=1):
            label = f'{idx}) {item.name:&amp;lt;{longest}}'
            label += f' [{item.key}]' if item.key else ''
            print(label)

    def _read_choice(self) -&amp;gt; MenuItem:
        with redirect_stdio(self.stdin, self.stdout):
            while True:
                self._display_menu()
                try:
                    user_input = input(_('Your choice: ')).strip().lower()
                except (EOFError, KeyboardInterrupt):
                    print(_('\nExiting...'))
                    return self.items[-1]

                try:
                    if user_input.isdigit():
                        idx = int(user_input)
                        if not 1 &amp;lt;= idx &amp;lt;= len(self.visible_items):
                            raise ValueError
                        candidate = self.visible_items[idx - 1]
                    else:
                        for idx, item in enumerate(self.visible_items):
                            if user_input == item.key:
                                candidate = self.visible_items[idx]
                                break
                        else:
                            raise ValueError
                    if not candidate.enabled:
                        print_input_error(_('invalid operation'))
                        wait_for_enter()
                    else:
                        return candidate
                except ValueError:
                    print_input_error(_('invalid choice'))

    def _quit(self) -&amp;gt; None:
        self.active = False
        Menu.nesting_level -= 1
&lt;/pre&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/599257/jak-pozbyc-sie-zmiennej-statycznej</guid>
<pubDate>Sun, 12 Oct 2025 19:59:50 +0000</pubDate>
</item>
<item>
<title>mypy - typ zwracanej wartości przez funkcję taki sam jak typ argumentu funkcji</title>
<link>https://forum.pasja-informatyki.pl/599249/mypy-typ-zwracanej-wartosci-przez-funkcje-taki-sam-jak-typ-argumentu-funkcji</link>
<description>

&lt;p&gt;Hej, jak mogę powiedzieć mypy że typ zwracany powinien być taki sam jak ten przekazany w parametrze _type do funkcji read_number bez bawienia się w Any?&lt;/p&gt;



&lt;p&gt;Chodzi mi o takie coś&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
def read_number(prompt: str = 'Enter the number (cannot be zero): ', *,
                _type: type = float) -&amp;gt; _type (?) wywala błąd undefined name _type:
    while True:
        try:
            return _type(input(prompt))
        except ValueError:
            print('Error: not a number. Try again...')&lt;/pre&gt;



&lt;p&gt;Funkcja ma zwracać taki sam typ jak ten zdefiniowany w zmiennej _type.&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/599249/mypy-typ-zwracanej-wartosci-przez-funkcje-taki-sam-jak-typ-argumentu-funkcji</guid>
<pubDate>Sat, 11 Oct 2025 11:55:54 +0000</pubDate>
</item>
<item>
<title>Darmowy kurs Python poziom podstawowy dla chętnych</title>
<link>https://forum.pasja-informatyki.pl/598291/darmowy-kurs-python-poziom-podstawowy-dla-chetnych</link>
<description>

&lt;p&gt;Udostępniam bezpłatny&amp;nbsp;link&amp;nbsp;do mojego nowego kursu podstaw programowania w &lt;strong&gt;Pythonie &lt;/strong&gt;na Udemy.
&lt;br&gt;
Kurs jest skierowany do osób początkujących – studentów pierwszego roku, osób planujących zmianę branży oraz uczniów szkół średnich.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Kilka informacji o kursie:&lt;/strong&gt;
&lt;br&gt;
✅ 12 godzin materiałów wideo
&lt;br&gt;
✅ Przystępne wprowadzenie do Pythona od podstaw
&lt;br&gt;
✅ Praktyczne przykłady i zadania
&lt;br&gt;
✅ Kurs dostępny na Udemy – po zapisaniu można korzystać bez ograniczeń&lt;/p&gt;



&lt;p&gt;Liczba darmowych miejsc jest ograniczona więc jeżeli ktoś jest zainteresowany to proszę nie zwlekać.&amp;nbsp;
&lt;br&gt;
Link będzie aktywny do dnia 30.03.2025.&lt;/p&gt;



&lt;p&gt;Link do bezpłatnego kursu: &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.udemy.com/course/python-pierwsze-kroki-podstawy/?couponCode=2C593664F1A32E884C13&quot;&gt;kurs&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Będę wdzięczny za każdą ocenę i komentarz na platformie Udemy – pomoże to innym osobom znaleźć kurs i ocenić jego wartość.&lt;/p&gt;



&lt;p&gt;Ogólny link do kursu:&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.udemy.com/course/python-pierwsze-kroki-podstawy/?referralCode=86F2CFC468267D72872E&quot;&gt;kurs&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Pozdrawiam i powodzenia w nauce.&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/598291/darmowy-kurs-python-poziom-podstawowy-dla-chetnych</guid>
<pubDate>Sat, 15 Mar 2025 21:31:43 +0000</pubDate>
</item>
<item>
<title>Matura informatyka zadania do ćwiczenia</title>
<link>https://forum.pasja-informatyki.pl/595270/matura-informatyka-zadania-do-cwiczenia</link>
<description>Witam&lt;br /&gt;
&lt;br /&gt;
Mam pytanie znacie jakieś strony z których warto korzystać poza SPOJEM do zadań z programowania? Chodziło by mi o jakąś taką stronę gdzie byłyby zadania takie pod maturę albo o podobnym poziomie trudności do matury aby sobie poćwiczyć. Drugie pytanie to o naukę do matury z informatyki czy wystarczy że będę robił różnej maści zadania z SQL, Excel i programowania w Pythonie regularnie czy jednak wypada coś jeszcze robić? Wiadomo do teorii też nauka potrzebna. Czytałem że ponoć zadania z informatyki teoretyczne z algorytmiki mają nie jasne sformułowania i że warto dużo takich zadań przerobić aby załapać tok myślenia CKE. Kolejna spraw to ile trzeba dokładnie wiedzieć na maturę z informatyki aby ją zdać bez problemów tak na 75% około? Czy wystarczy to co wiem czyli: warunki, case, operacje logiczne i matematyczne, operacje na tekstach, pobieranie od użytkownika wartości, krotki, sety, listy i słowniki i operacje na nich np porównani setów, własne funkcje. Czy tyle wystarczy na dobry wynik? Kolejna sprawa prawdą jest że do baz danych mogę MySQL użyć? Chce wybrać tą formę ponieważ czuje się z tego dobrze i jestem sprawny a z Access nie miałem możliwości korzystać więc nie chce robić sobie problemów.</description>
<category>Rozwój zawodowy, nauka, praca</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/595270/matura-informatyka-zadania-do-cwiczenia</guid>
<pubDate>Wed, 17 Jul 2024 08:16:27 +0000</pubDate>
</item>
<item>
<title>nauka pythona</title>
<link>https://forum.pasja-informatyki.pl/593772/nauka-pythona</link>
<description>Witam, własnie zacząłem uczyć sie pythona. poleci mi ktoś &amp;nbsp;coś co mi pomoże w nauce</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/593772/nauka-pythona</guid>
<pubDate>Wed, 15 May 2024 15:57:25 +0000</pubDate>
</item>
<item>
<title>Ramka z szarymi napisami w pythonie tkinter</title>
<link>https://forum.pasja-informatyki.pl/593430/ramka-z-szarymi-napisami-w-pythonie-tkinter</link>
<description>

&lt;p&gt;Mam pytanko da się w pythonie zrobić taki&amp;nbsp;szary napis w entry jak np. w facebooku bo to fajnie wygląda i nie trzeba ramek robić. I tak żeby to działało że wpisuje coś to znika ten szary napis a jak skasuję jest znowu.&lt;/p&gt;



&lt;p&gt;Szukałem czegoś takiego na yt ale nie było.&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=2104479594271404248&quot; style=&quot;height:577px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/593430/ramka-z-szarymi-napisami-w-pythonie-tkinter</guid>
<pubDate>Tue, 30 Apr 2024 21:22:29 +0000</pubDate>
</item>
<item>
<title>Problem with socket programing</title>
<link>https://forum.pasja-informatyki.pl/587071/problem-with-socket-programing</link>
<description>

&lt;p&gt;Hej ucze się pythona i chciałem zrobić projekt w którym potrzebuje nauczyć się troche socket programing. Napisałem prosty kod mający za zadanie wymiane wiadomości pomiędzy serverem i clientem. Mam problem z funkcją broadcast_message ponieważ wysłane w ten sposób wiadomości nie dochodzą do klienta. Co jest problemem?&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
#server.py
import socket
import threading
import time

HEADER = 64
FORMAT = &quot;utf-8&quot;
PORT = 5050
DISCONNECT_MESSAGE = &quot;end!&quot;
SERVER = socket.gethostbyname(socket.gethostname())
ADDR = (SERVER, PORT)

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(ADDR)

clients = []
broadcast_queue = []  # List to hold messages for broadcasting

def handle_client(conn, addr):
    print(f&quot;[NEW CONNECTION] {addr}&quot;)
    clients.append(conn)

    connected = True
    while connected:
        msg_length = conn.recv(HEADER).decode(FORMAT).strip()
        if msg_length:
            msg_length = int(msg_length)
            msg = conn.recv(msg_length).decode(FORMAT)
            if msg == DISCONNECT_MESSAGE:
                connected = False
            else:
                print(f&quot;[{addr}] {msg}&quot;)
    
    conn.close()
    clients.remove(conn)
    print(f&quot;[CONNECTION CLOSED] {addr}&quot;)

def broadcast_message(msg):
    message = msg.encode(FORMAT)
    msg_length = len(message)
    send_length = str(msg_length).encode(FORMAT)
    send_length += b' ' * (HEADER - len(send_length))
    
    for client_conn in clients:
        try:
            client_conn.send(send_length)
            client_conn.send(message)
        except:
            clients.remove(client_conn)

def broadcast_thread_func():
    while True:
        if broadcast_queue:
            msg = broadcast_queue.pop(0)  # Get the first message from the queue
            broadcast_message(msg)
        time.sleep(0.1)  # Adjust the sleep time as needed

def start_server():
    server.listen()
    print(f&quot;Server is listening on {SERVER}&quot;)
    
    broadcast_thread = threading.Thread(target=broadcast_thread_func)  
    broadcast_thread.start()
    
    while True:
        conn, addr = server.accept()
        thread = threading.Thread(target=handle_client, args=(conn, addr))
        thread.start()
        clients.append(conn)
        print(f&quot;[ACTIVE CONNECTIONS] {threading.active_count() - 2}&quot;)  # Subtract the main thread and broadcast thread

start_thread = threading.Thread(target=start_server)
start_thread.start()

# # Call the broadcast_message function with needed parameter
# broadcast_queue.append(&quot;This is a broadcast message.&quot;)

# Create a separate thread for adding the message to the broadcast_queue
message_thread = threading.Thread(target=lambda: broadcast_queue.append(&quot;This is a broadcast message.&quot;))
message_thread.start()&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
#client.py
import socket
import threading

HEADER = 64
FORMAT = &quot;utf-8&quot;
PORT = 5050
DISCONNECT_MESSAGE = &quot;end!&quot;
SERVER = socket.gethostbyname(socket.gethostname())
ADDR = (SERVER, PORT)

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(ADDR)

def send(msg):
    message = msg.encode(FORMAT)
    msg_length = len(message)
    send_length = str(msg_length).encode(FORMAT)
    send_length += b' ' * (HEADER - len(send_length))
    client.send(send_length)
    client.send(message)

def receive_messages():
    while True:
        msg_length = client.recv(HEADER).decode(FORMAT).strip()
        if msg_length:
            msg_length = int(msg_length)
            msg = client.recv(msg_length).decode(FORMAT)
            print(f&quot;{msg}&quot;, end=&quot;&quot;)

send(&quot;hello&quot;)

receive_thread = threading.Thread(target=receive_messages)
receive_thread.start()&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/587071/problem-with-socket-programing</guid>
<pubDate>Sun, 06 Aug 2023 09:51:54 +0000</pubDate>
</item>
<item>
<title>Lepiej najpierw zaimplementować logikę, później locale czy równocześnie to robić?</title>
<link>https://forum.pasja-informatyki.pl/585483/lepiej-najpierw-zaimplementowac-logike-pozniej-locale-czy-rownoczesnie-to-robic</link>
<description>Piszę sobie aplikację w Pythonie w ramach ćwiczenia programowania i mam pytanie, jakbym kiedyś robił coś na produkcję, coś poważniejszego to lepiej najpierw skupić się na logice a później obsłudze takich rzeczy jak locale czy równocześnie to robić?</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/585483/lepiej-najpierw-zaimplementowac-logike-pozniej-locale-czy-rownoczesnie-to-robic</guid>
<pubDate>Sun, 04 Jun 2023 19:54:38 +0000</pubDate>
</item>
<item>
<title>Błędne wyniki podczas działań - Python</title>
<link>https://forum.pasja-informatyki.pl/585386/bledne-wyniki-podczas-dzialan-python</link>
<description>

&lt;p&gt;Cześć,&lt;/p&gt;



&lt;p&gt;zacząłem swoją naukę Pythona. Chciałem napisać program, który wykonuje proste działania matematyczne(załączony kod) i moje pytanie jest następujące - dlaczego po wykonaniu działania 5.3 - 5.6 otrzymuję wynik&amp;nbsp;-0.2999999999999998? Powinno być 0.3.&lt;/p&gt;



&lt;p&gt;Pozdrawiam.&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
def oblicz(num1, znak, num2):
    if znak == &quot;+&quot;:
        return num1 + num2
    elif znak == &quot;-&quot;:
        return num1 - num2
    elif znak == &quot;/&quot;:
        return num1 / num2
    return num1 * num2


number1 = float(input(&quot;podaj pierwszą liczbę: &quot;))
znak1 = input(&quot;podaj operator: &quot;)
number2 = float(input(&quot;podaj drugą liczbę: &quot;))
print(oblicz(number1, znak1, number2))
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/585386/bledne-wyniki-podczas-dzialan-python</guid>
<pubDate>Thu, 01 Jun 2023 19:00:05 +0000</pubDate>
</item>
<item>
<title>Program kalkulator - nauka Pythona</title>
<link>https://forum.pasja-informatyki.pl/584125/program-kalkulator-nauka-pythona</link>
<description>

&lt;p&gt;Cześć,&lt;/p&gt;



&lt;p&gt;od niedawna zainteresowałem się nauką programowania i dowiedziałem się że najlepszy na początek będzie Python,&lt;/p&gt;



&lt;p&gt;pooglądałem trochę filmów na youtube i zamówiłem książki.&lt;/p&gt;



&lt;p&gt;Wymyśliłem sobie że napiszę samodzielnie prosty program i wybór padł na kalkulator.&lt;/p&gt;



&lt;p&gt;Chciałbym go napisać ze znanych mi komend a jest ich nie wiele i wydaje mi się że to może zadziałać ale potrzebuje pomocy bo program nie odpowiada tak jakbym tego chciał.&lt;/p&gt;



&lt;p&gt;Nie rozumiem jak sprawić by po naciśnięciu &quot;n&quot; program ponowił pytanie a po naciśnięciu &quot;t&quot; poszedł dalej&lt;/p&gt;



&lt;p&gt;Teraz nie ważne co wpiszę pojawia się &quot;nie to nie&quot;.&lt;/p&gt;



&lt;p&gt;W przypadku wyboru działania jest podobnie więc domyślam się że może chodzić o ten sam błąd który popełniam.&lt;/p&gt;



&lt;p&gt;Wiem że kalkulator można w Pythonie zrobić dużo prościej i szybciej ale zależy mi żeby napisać to na piechotę i takimi najprostszymi metodami bo w mojej opinii nauczę się najwięcej.&lt;/p&gt;



&lt;p&gt;Czy mógłby mi ktoś pomóc? Używałem komendy &quot;While&quot;(z której też chciałbym skorzystać) ale problemy były podobne.&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
czy = &quot;t&quot;
kur = &quot;n&quot;
input(&quot;Oto program do liczenia, chcesz coś policzyć ? (t/n)&quot;)
if kur == &quot;n&quot;:
    print(&quot;nie to nie&quot;)
elif czy == &quot;t&quot;:
    a = int(input(&quot;Podaj liczbę: &quot;))
    b = int(input(&quot;Podaj drugą liczbę: &quot;))
    d = &quot;d&quot;
    o = &quot;o&quot;
    p = &quot;p&quot;
    w = &quot;w&quot;
    input(&quot;Co chcesz zrobić? Dodać (d) odjąć (o) Pomnożyć (p) Podzielić (w)&quot;)
    if d == &quot;d&quot;:
        wynik = (a + b)
    elif o == &quot;o&quot;:
        wynik = (a - b)
    elif p == &quot;p&quot;:
        wynik = (a * b)
    elif w == &quot;w&quot;:
        wynik = (a / b)
    else:
        print(&quot;coś poszło nie tak, spróbujmy jeszczę raz&quot;)
    print(wynik)&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/584125/program-kalkulator-nauka-pythona</guid>
<pubDate>Sun, 23 Apr 2023 19:13:33 +0000</pubDate>
</item>
<item>
<title>Jakie książki do nauki pythona polecacie?</title>
<link>https://forum.pasja-informatyki.pl/582253/jakie-ksiazki-do-nauki-pythona-polecacie</link>
<description>Cześć, &lt;br /&gt;
&lt;br /&gt;
Jestem po lekturze książki Michaela Dawsona &amp;quot;Python dla każdego: podstawy programowania&amp;quot;. Jaką polecacie następną żeby szlifować umiejętności i nawyki dobrego programowania? Wiem, że przede wszystkim projekty i praktyka i takowe planuję, ale w międzyczasie myślę, że warto się wspomagać książkami fachowców.</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/582253/jakie-ksiazki-do-nauki-pythona-polecacie</guid>
<pubDate>Wed, 15 Mar 2023 20:12:53 +0000</pubDate>
</item>
<item>
<title>Moja Gra w Python,Pygame</title>
<link>https://forum.pasja-informatyki.pl/578920/moja-gra-w-python-pygame</link>
<description>Cześć Zrobiłem Grę w Python (wsumie moja pierwsza gra) jeszcze nie skonczylem. Narazie jest 7 Poziomów Macie Może Pomysł Jak Na Renderowane W Pygame &amp;quot;Prostokąty&amp;quot; Nanieść Texture?&lt;br /&gt;
&lt;br /&gt;
Tutaj GitHub:&lt;br /&gt;
&lt;a href=&quot;https://github.com/KubaSX23/Python-Game-by-KubaS&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://github.com/KubaSX23/Python-Game-by-KubaS&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
PS. macie jakis pomysl na tytul gry?</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/578920/moja-gra-w-python-pygame</guid>
<pubDate>Sun, 29 Jan 2023 19:02:46 +0000</pubDate>
</item>
<item>
<title>Czy da się użyć zapis w pliku tekstowym jako kod w Pythonie?</title>
<link>https://forum.pasja-informatyki.pl/578105/czy-da-sie-uzyc-zapis-w-pliku-tekstowym-jako-kod-w-pythonie</link>
<description>Czy jeżeli w pliku tekstowym zapiszę chociażby taki tekst:&lt;br /&gt;
print (&amp;quot;plik&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
to czy da się zaimplementować ten tekst z pliku do programu w Pythonie tak, żeby działał jakby był napisany jako kod i żeby po uruchomieniu programu konsola wyświetliła napis 'plik'?</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/578105/czy-da-sie-uzyc-zapis-w-pliku-tekstowym-jako-kod-w-pythonie</guid>
<pubDate>Sun, 15 Jan 2023 13:55:08 +0000</pubDate>
</item>
<item>
<title>Python - działania arytmetyczne</title>
<link>https://forum.pasja-informatyki.pl/574267/python-dzialania-arytmetyczne</link>
<description>

&lt;p&gt;Wie ktoś w jaki sposób zabrać się za poniższe zadanie?&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
x = float(input(&quot;Wprowadź wartość dla x: &quot;))
# tutaj wpisz swój kod
print(&quot;y =&quot;, y)&lt;/pre&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=13538599799309593383&quot; style=&quot;height:409px; width:571px&quot;&gt;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/574267/python-dzialania-arytmetyczne</guid>
<pubDate>Sun, 06 Nov 2022 08:44:10 +0000</pubDate>
</item>
<item>
<title>problem - gra pygame</title>
<link>https://forum.pasja-informatyki.pl/573852/problem-gra-pygame</link>
<description>Witam mam problem z moją grą pygame. Jest to gra z automatycznym renderowaniem chunków (nieskończony świat). Aktualniie tworze mechanike do gry - Jest to losowe dodawanie się pieniędzy na ziemi. Gracz by to zbierał i dostawałby za to punkty. Jednakże część z pieniędźmi a raczej zderzanie sięz nimi nie działa, gdyż kiedy postać dotyka takiego pieniądza to, albo nic się nie dzieje albo wyskakuje błąd IndexError: list index out of range. Nie mam pomysłu jak to rozwiązać. Z góry dziękuje za każdą pomoc&lt;br /&gt;
&lt;br /&gt;
kod: &lt;a href=&quot;https://pastebin.com/u/Karp007/1/7DTyRan1&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://pastebin.com/u/Karp007/1/7DTyRan1&lt;/a&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/573852/problem-gra-pygame</guid>
<pubDate>Thu, 27 Oct 2022 15:23:13 +0000</pubDate>
</item>
<item>
<title>Problem z zadaniem Python (pliki)</title>
<link>https://forum.pasja-informatyki.pl/573174/problem-z-zadaniem-python-pliki</link>
<description>

&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=11431170593997231069&quot; style=&quot;height:95px; width:600px&quot;&gt;&lt;/p&gt;



&lt;p&gt;Witam, mam problem z następującym zadaniem z języka Python, niestety nie wiem, jak się za nie zabrać, dotychczas jedynie utworzyłem plik, lecz przy próbie zapisania losowej liczby do pliku już wyskakuje błąd. Proszę o pomoc. Z góry dziękuję :)&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
import random

plik = open(&quot;integer_dataset.txt&quot;, &quot;w&quot;)
lista = [random.randint(0, 200)]
x=1
while x&amp;lt;30:
    lista.append(random.randint(0, 200))
    x=x+1

print(lista)

print({lista}, file=plik)
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/573174/problem-z-zadaniem-python-pliki</guid>
<pubDate>Sun, 16 Oct 2022 08:42:36 +0000</pubDate>
</item>
<item>
<title>Zadanie suma par cyfr</title>
<link>https://forum.pasja-informatyki.pl/572889/zadanie-suma-par-cyfr</link>
<description>

&lt;p&gt;W inpucie ma być&amp;nbsp;liczba, w której cyfry są&amp;nbsp;rozdzielone spacjami&amp;nbsp;a w outpucie liczba par cyfr, których suma wynosi 11 każdą cyfrę można wykorzystać wyłącznie raz w celu utworzenia pary.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;np.&lt;/p&gt;



&lt;p&gt;input:1 3 8 8&lt;/p&gt;



&lt;p&gt;output:1&lt;/p&gt;



&lt;p&gt;poniewaz 8+3 =11&lt;/p&gt;



&lt;p&gt;ja mam taki problem, że gdy w inpucie jest liczba np.2 3 8 9 9 to w outpucie jest 3 problem jest tylko wlasnie z cyframi 2 i 9 w innych pzypadkach dziala poprawnie. Dodam, że dopiero zaczynam nauke programowania.&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
liczba= input()
lst = (liczba.split())
b=0
a=1
while a==1:
&amp;nbsp;
&amp;nbsp; &amp;nbsp;if (&quot;2&quot; and &quot;9&quot; in lst):&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp;lst.remove(&quot;2&quot;and&quot;9&quot;)
&amp;nbsp; &amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp;b=b+1
&amp;nbsp; &amp;nbsp;elif(&quot;3&quot; and &quot;8&quot; in lst): &amp;nbsp;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lst.remove(&quot;3&quot;and&quot;8&quot;)
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;b=b+1
&amp;nbsp; &amp;nbsp;elif(&quot;5&quot; and &quot;6&quot; in lst):&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lst.remove(&quot;5&quot;and&quot;6&quot;)
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;b=b+1
&amp;nbsp; &amp;nbsp;elif(&quot;4&quot; and &quot;7&quot; in lst): &amp;nbsp; &amp;nbsp; &amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lst.remove(&quot;4&quot;and&quot;7&quot;)
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;b=b+1 &amp;nbsp;&amp;nbsp;
&amp;nbsp; &amp;nbsp;else:
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a = 0
print(b)&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/572889/zadanie-suma-par-cyfr</guid>
<pubDate>Sat, 08 Oct 2022 15:38:58 +0000</pubDate>
</item>
<item>
<title>Zabezpieczenie scrapowania danych</title>
<link>https://forum.pasja-informatyki.pl/572385/zabezpieczenie-scrapowania-danych</link>
<description>

&lt;p&gt;Cześć,&lt;/p&gt;



&lt;p&gt;Napisałem program do scrapowania danych ze strony w Pythonie. Chciałbym zaimplementować tam jakieś zabezpieczenie, żeby np. w razie awarii Internetu lub innej przyczyny powodującej niespodziewane przerwanie pobierania danych, program mógł zacząć pracę od momentu w którym przerwał pobieranie a nie od samego początku.&lt;/p&gt;



&lt;p&gt;Jak mogę to zrobić? Jakieś pomysły/rady?&lt;/p&gt;



&lt;p&gt;Z góry dzięki za pomoc! &lt;img alt=&quot;&quot; src=&quot;https://static.xx.fbcdn.net/images/emoji.php/v9/ta5/1.5/16/1f642.png&quot; style=&quot;height:16px; width:16px&quot;&gt;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/572385/zabezpieczenie-scrapowania-danych</guid>
<pubDate>Tue, 27 Sep 2022 10:01:34 +0000</pubDate>
</item>
<item>
<title>Pytanie o funkcje - poprawność pisownk</title>
<link>https://forum.pasja-informatyki.pl/571905/pytanie-o-funkcje-poprawnosc-pisownk</link>
<description>Cześć. Zacząłem naukę Pythona 3 tygodnie temu i mam problem z pewną funkcja. Mianowicie zadanie brzmi:&lt;br /&gt;
&lt;br /&gt;
Napisz dwie proste funkcje gdzie jedna zwraca pierwsza litere w łańcuchu a druga - ostatnia.&lt;br /&gt;
&lt;br /&gt;
No więc napisałem;&lt;br /&gt;
&lt;br /&gt;
def ostatnia_litera(napis):&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;return[-1]&lt;br /&gt;
&lt;br /&gt;
def pierwsza_litera(napis):&lt;br /&gt;
&lt;br /&gt;
return [-0]&lt;br /&gt;
&lt;br /&gt;
Print (&amp;quot;Pierwsza litera to:&amp;quot;,pierwsza_litera('Piotr)'&lt;br /&gt;
&lt;br /&gt;
Print (&amp;quot;ostatnia litera to:&amp;quot;, ostatnia_litera('Piotr)'&lt;br /&gt;
&lt;br /&gt;
I fajnie mi zrobiło. Jednakże patrząc na rozwiązanie w odpowiedziach, kod jest praktycznie taki sam, tylko jest jedna zmiana:&lt;br /&gt;
&lt;br /&gt;
Mianowicie w definicji z ostatnia_litera było napisane:&lt;br /&gt;
&lt;br /&gt;
return napis[len(napis)-1]&lt;br /&gt;
&lt;br /&gt;
Wynik daje ten sam co mi.&lt;br /&gt;
&lt;br /&gt;
Czy jednak robię coś źle? Czy jest konieczność, bym faktycznie zamieniał mój &amp;quot;napis&amp;quot; na listę? Jeśli tak, to dlaczego nie muszę tego robić później, szukając pierwszej litery? Czy jedna i druga jest poprawna? Proszę o pomoc :)</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/571905/pytanie-o-funkcje-poprawnosc-pisownk</guid>
<pubDate>Wed, 14 Sep 2022 11:09:30 +0000</pubDate>
</item>
<item>
<title>Pomoc w nauce Python</title>
<link>https://forum.pasja-informatyki.pl/564714/pomoc-w-nauce-python</link>
<description>Cześć jestem Piotr i mam 15lat. Aktualnie uczęszczam do Technikum na informatyka. Od zawsze mam marzenie by zostać programistą. I tu jest moje pytanie. Jak nauczyć się pythona chodzi mi o jakieś kursy w formie w formie wideo lub jakieś strony strony internetowe byle w języku Polskim.</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/564714/pomoc-w-nauce-python</guid>
<pubDate>Thu, 14 Apr 2022 14:38:50 +0000</pubDate>
</item>
<item>
<title>Histogram ręcznie pisany</title>
<link>https://forum.pasja-informatyki.pl/563603/histogram-recznie-pisany</link>
<description>Cześć&lt;br /&gt;
&lt;br /&gt;
mam do zrobienia histogram ręcznie z DataFrame’a. Chodzi o to, żeby nie używać histogramu z matplotliba. Czy ktoś byłby w stanie mnie naprowadzić jak to zrobić? I jak wyznaczyć od razu przedział dla jakiejs kolumny z tego DataFrame. Z góry dzięki za pomoc :)</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/563603/histogram-recznie-pisany</guid>
<pubDate>Sat, 26 Mar 2022 17:54:05 +0000</pubDate>
</item>
<item>
<title>Powrót do programowania</title>
<link>https://forum.pasja-informatyki.pl/561448/powrot-do-programowania</link>
<description>Witam&lt;br /&gt;
Uczyłem się pythona (z kursów na udemy) jakieś pół roku, albo i dłużej i dobrze szło, ale przez szkołę musiałem zmienić język (ee09) i przez długi czas nie programowałem w pythonie, przez co wiele zapomniałem.&lt;br /&gt;
&lt;br /&gt;
Jak mógłbym teraz wrócić, nie chcę od nowa zaczynać kursu, bo jednak nie zapomniałem wszystkiego, przez co pewnie znając siebie, stracę ochotę na dalszą naukę, gdy będę widział że dane tematy umiem.&lt;br /&gt;
&lt;br /&gt;
Czy ktoś z was też był w takiej sytuacji?&lt;br /&gt;
Z góry dzięki</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/561448/powrot-do-programowania</guid>
<pubDate>Sun, 20 Feb 2022 19:17:26 +0000</pubDate>
</item>
<item>
<title>Komunikat &quot;proszę czekać&quot; w Python</title>
<link>https://forum.pasja-informatyki.pl/559601/komunikat-prosze-czekac-w-python</link>
<description>Witam serdecznie! Jestem początkującym od tygodnia uczę się podstaw programowania w języku Python (hobbystycznie) i natrafiłem na mały problem i nigdzie nie mogę znaleźć tego problemu a więc do rzeczy.&lt;br /&gt;
&lt;br /&gt;
Chciałbym napisać prosty kod, w którym program będzie wyświetlał komunikat czasowy &amp;quot;proszę czekać&amp;quot;.&lt;br /&gt;
W stylu np podawania pinu do banku, ktoś podaje pin i wyświetlany jest ten sam komunikat &amp;quot;transakcja trwa&amp;quot;&lt;br /&gt;
Sądzę, że to będzie z datetime lub time ale nie jestem pewny.&lt;br /&gt;
Mam nadzieje, że zrozumieliście o co chodzi.&lt;br /&gt;
Pozdrawiam i z góry dziękuje &amp;lt;3</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/559601/komunikat-prosze-czekac-w-python</guid>
<pubDate>Wed, 26 Jan 2022 12:52:09 +0000</pubDate>
</item>
<item>
<title>No module named...</title>
<link>https://forum.pasja-informatyki.pl/558485/no-module-named</link>
<description>Witam, mam problem związany z dodawaniem biblioteki i nie za bardzo wiem o co chodzi. Mam zaimportowaną bibliotekę poprzez IDE jak i w pliku .pym jednak wyskakuje mi błąd &amp;quot;No module named 'pygame'&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ktoś wie o co chodzi?</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/558485/no-module-named</guid>
<pubDate>Sat, 08 Jan 2022 16:16:01 +0000</pubDate>
</item>
<item>
<title>gdzie zacząć uczyć się pythona?</title>
<link>https://forum.pasja-informatyki.pl/556981/gdzie-zaczac-uczyc-sie-pythona</link>
<description>Cześć, nigdy wcześniej nie miałem styczności z programowaniem i nie wiem gdzie zacząć się uczyć czy ktoś może coś polecić?</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/556981/gdzie-zaczac-uczyc-sie-pythona</guid>
<pubDate>Wed, 15 Dec 2021 11:43:26 +0000</pubDate>
</item>
<item>
<title>Przeliczanie temperatury z Celsjusza na Kelwiny</title>
<link>https://forum.pasja-informatyki.pl/556375/przeliczanie-temperatury-z-celsjusza-na-kelwiny</link>
<description>

&lt;p&gt;Wie ktoś jak użyć tutaj pętli while która będzie powtarzała podana funkcje do momentu&amp;nbsp;gdy użytkownik sam zrezygnuję z dalszego wprowadzania danych w konsoli?&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
celsius_temperature = float(input('Podaj temperature w Celsjuszach:'))
def przeliczanie_temperatury(temperatura_celsjusz):
    temperatura_kelwin = temperatura_celsjusz + 273.15
    return temperatura_kelwin
print(przeliczanie_temperatury(celsius_temperature))&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/556375/przeliczanie-temperatury-z-celsjusza-na-kelwiny</guid>
<pubDate>Sun, 05 Dec 2021 16:41:43 +0000</pubDate>
</item>
<item>
<title>Program python - wyswietlanie ocen</title>
<link>https://forum.pasja-informatyki.pl/556362/program-python-wyswietlanie-ocen</link>
<description>

&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Wie ktoś jak napisać&amp;nbsp;program&amp;nbsp;&amp;nbsp;który&amp;nbsp;wywoła&amp;nbsp;funkcje dla konkretnego studenta? Aktualnie wyświetla dane dla wszystkich 3.&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
oceny = {'Adam Nowak':{'WF':5.5, 'Matematyka':4.3, 'Geografia':2.4},
         'Tomasz Kot':{'WF':4.5, 'Matematyka':3.5, 'Geografia':3.4},
         'Wojciech Kowalski':{'WF':4.5, 'Matematyka':3.5, 'Geografia':3.4}}                  

dane_studenta=input('Podaj imie i nazwisko studenta:')
if dane_studenta in oceny.keys():
    for student in oceny.keys():
        print(student)
        suma = sum(oceny[student].values())
        srednia = suma/len(oceny[student].values())
        with open(student + '.txt', 'w') as f:
            f.write(student)
            f.write('\n')
            for przedmiot in oceny[student].keys():
                line = (przedmiot + &quot;.....&quot; + str(oceny[student][przedmiot]))
                f.write(line)
                f.write('\n')
            f.write('Srednia.........'+ str(srednia))
else: 
    print('Nie ma takiego studenta')&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/556362/program-python-wyswietlanie-ocen</guid>
<pubDate>Sun, 05 Dec 2021 14:56:06 +0000</pubDate>
</item>
<item>
<title>Python - wybór konkretnej książki na początek</title>
<link>https://forum.pasja-informatyki.pl/555927/python-wybor-konkretnej-ksiazki-na-poczatek</link>
<description>

&lt;p&gt;&lt;span style=&quot;font-size:16px&quot;&gt;Witam,&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;&lt;span style=&quot;font-size:16px&quot;&gt;Już jakiś czas temu ( około roku ) zadawałem pytanie dotyczące wyboru książki do pythona (książka, a nie kurs, dlatego, że potrzebuję mieć wszystko w jednym miejscu). Otrzymałem dużo odpowiedzi za co bardzo dziękuję. W ciągu tego czasu raczej zbyt dużo nie zrobiłem. Teraz idą święta i zamierzam już wziąć się za to na poważnie. Jednak muszę wybrać 1 z 6&amp;nbsp;pozycji.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;- Python dla każdego. Podstawy programowania. Wydanie III / Michael Dawson&lt;/p&gt;



&lt;p&gt;-&amp;nbsp;Python. Nowoczesne programowanie w prostych krokach. Wydanie II / Bill Lubanovic&lt;/p&gt;



&lt;p&gt;-&amp;nbsp;Python. Instrukcje dla programisty. Wydanie II / Eric Matthes&amp;nbsp;&lt;/p&gt;



&lt;p&gt;-&amp;nbsp;Python Szybko i prosto. Wydanie II / Naomi Ceder&lt;/p&gt;



&lt;p&gt;-&amp;nbsp;Python na poważnie / Danjou Julien&lt;/p&gt;



&lt;p&gt;-&amp;nbsp;Python. Wprowadzenie. Wydanie V / Mark Lutz&lt;/p&gt;



&lt;p&gt;&lt;span style=&quot;font-size:16px&quot;&gt;Chcę was prosić o wybór konkretnej książki na początek z tego zbioru. Zależy mi na najważniejszych podstawach składni, ale i rozwinięciu tego.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;&lt;span style=&quot;font-size:16px&quot;&gt;Byłbym bardzo wdzięczny za pomoc z waszej strony&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;&lt;span style=&quot;font-size:16px&quot;&gt;Pozdrawiam :)&lt;/span&gt;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/555927/python-wybor-konkretnej-ksiazki-na-poczatek</guid>
<pubDate>Sun, 28 Nov 2021 11:11:37 +0000</pubDate>
</item>
<item>
<title>Atrybuty w Pythonie</title>
<link>https://forum.pasja-informatyki.pl/555679/atrybuty-w-pythonie</link>
<description>

&lt;p&gt;Hejka, mam takie pytanie. Mam taką klasę w Pythonie:&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
class SubjectTest(abc.ABC):
    def __init__(self, questions=None, date=None, num_questions=10):
        self.questions = [] if questions is None else questions
        self.points = 0
        self.date = date
        self.num_questions = num_questions

    def add_question(self, question):
        self.questions.append(question)

    def add_questions(self, *questions):
        self.questions.extend(questions)

    def max_points(self):
        return len(self.questions)

    def percent_progress(self):
        return self.points / self.max_points() * 100

    def grade(self):
        return to_grade(self.percent_progress())

    # ...

class Subject:
    def __init__(self, name, tests=None):
        self.name = name
        self.tests = [] if tests is None else tests

    def add_test(self, test):
        self.tests.append(test)

    def remove_test(self, test):
        self.tests.remove(test)

    def take_test(self, test):
        if test not in self.tests:
            raise ValueError(f'Error: given test is not available for the subject &quot;{self.name}&quot;.')
        test.quiz()

    def grades(self):
        return [test.grade() for test in self.tests]

    def points(self):
        return [test.points for test in self.tests]

    def average_percentage(self):
        return sum(test.points for test in self.tests) / sum(test.max_points() for test in self.tests)

    def average_grade(self):
        return to_grade(self.average_percentage())&lt;/pre&gt;



&lt;p&gt;Chcę, aby można było mieć dostęp do metod average_percentage, average_grade itd. w ten sposób:&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
maths = Subject(name='Matma')
maths.take_test(maths_exam)
print(maths.average_grade) # maths.average_grade zamiast maths.average_grade()
&lt;/pre&gt;



&lt;p&gt;Czy użycie dekoratora @property w tym celu to dobry sposób? Chcę to po to zrobić ponieważ w klasie SubjectTest mam takie publiczne zmienne jak points, date, num_questions i takie metody jak grade, max_points, które pobierają dane na podstawie właściwości tylko w odpowiednio przetworzonej formie (grade w tym wypadku konwertuje zdobyte punkty na stopień) i chcę ujednolicić kod, nie chcę mieszać wywołań funkcji i odwołań do zmiennych.&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/555679/atrybuty-w-pythonie</guid>
<pubDate>Thu, 25 Nov 2021 01:38:35 +0000</pubDate>
</item>
<item>
<title>Problem z powrotem do początku kodu w Python</title>
<link>https://forum.pasja-informatyki.pl/555670/problem-z-powrotem-do-poczatku-kodu-w-python</link>
<description>

&lt;p&gt;Cześć mam problem chciał bym napisać program gdzie po wykonaniu linijki 19:&amp;nbsp;&lt;/p&gt;



&lt;pre&gt;
print('Liczba wylosowana to:', (int(randint(i, o))))&lt;/pre&gt;



&lt;p&gt;jak i linijki 49:&amp;nbsp;&lt;/p&gt;



&lt;pre&gt;
print(&quot;SUMA = &quot;, str(p))&lt;/pre&gt;



&lt;p&gt;wracało mi i ponownie wykonywało komendę z linijki 7:&lt;/p&gt;



&lt;p&gt;print('Wybierz cyfrę:')&lt;/p&gt;



&lt;p&gt;z góry dziękuję za pomoc!&lt;/p&gt;



&lt;p&gt;ps. jak by dało by się to zrobić z def było by super!&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
#Dodatki
from random import randint
import time

#Lobby
randint(1, 5)
print('Wybierz cyfrę:')
print('1. Generator liczb')
print('2. Kalkulator')
print('3.')
print('4.')
print('5.')
x = int(input('Wpisz wybraną cyfrę:'))

# Generator Liczb
if x == 1:
i = int(input('Wpisz liczbę od:'))
o = int(input('Wpisz liczbę do:'))
print('Liczba wylosowana to:', (int(randint(i, o))))


#Kalkulator

if x == 2:
 print('Wybierz jaki typ działania chcesz wykonać:')
 print('1. Dodawanie')
 print('2. Odejmowanie')
 print('3. Dzielenie')
 print('4. Mnożenie')
 k = int(input('Podaj liczbę przypisaną do działania:'))

if k == 1:
 print('Wybrałeś dodawanie!')
 time.sleep(2)
 q = (input(&quot;PODAJ PIERWSZA WATOSC: &quot;))
 w = (input(&quot;PODAJ DRUGA WARTOSC: &quot;))

 p = (int(q) + int(w))
 print(&quot;SUMA = &quot;, str(p))

#Odejmowanie
if k == 2:
  print('Wybrałeś odejmowanie!')
  time.sleep(2)
  q = (input(&quot;PODAJ PIERWSZA WATOSC: &quot;))
  w = (input(&quot;PODAJ DRUGA WARTOSC: &quot;))

  p = (int(q) - int(w))
  print(&quot;SUMA = &quot;, str(p))

&lt;/pre&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/555670/problem-z-powrotem-do-poczatku-kodu-w-python</guid>
<pubDate>Wed, 24 Nov 2021 21:06:54 +0000</pubDate>
</item>
<item>
<title>Funkcja problem z output</title>
<link>https://forum.pasja-informatyki.pl/554965/funkcja-problem-z-output</link>
<description>

&lt;p&gt;Piszę funkcję, która powinna przyjmować string jako argument. Funkcja ma liczyć sumę wszystkich liczb w stringu. Tak więc dla sum_of_digits(&quot;123&quot;) powinnam dostać: 6
&lt;br&gt;
Dla sum_of_digits(&quot;1aw3&quot;) powinnam mieć
&lt;br&gt;
The sum of digits operation performs 1+3
&lt;br&gt;
The extracted non-digits are: [’a’, ’w’]
&lt;br&gt;
4
&lt;br&gt;
Dla sum_of_digits(&quot;&quot;) powinno być:
&lt;br&gt;
Empty string entered
&lt;br&gt;
0
&lt;br&gt;
A dla sum_of_digits(&quot;united&quot;):
&lt;br&gt;
The sum of digits operation could not detect a digit!
&lt;br&gt;
The returned input letters are: ['u', 'n', 'i', 't', 'e', 'd']
&lt;br&gt;
0&lt;/p&gt;



&lt;p&gt;Mój program wyswietla odpowiedzi, ale nie takie jak powinny być. Oto kod:&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
def sum_of_digits(s):
    letters = []
    numbers = []
    sum = 0
    for i in s:
      if i.isdigit():
            sum += int(i)
            print(sum)
    for i in s:
        if i.isalpha() and i.isdigit():
            letters.append(i)
            numbers.append(i)
            print(&quot;The sum of digits operation performs &quot;, &quot;+&quot;.join(numbers))
            print(&quot;The extracted non-digits are: {} &quot;.format(letters), end=&quot;\n&quot;)
        elif len(s) == 0:
            print('Empty string entered!')
            return 0   
        elif s == 'united':
            print('The sum of digits operation could not detect a digit!')
            print('The returned input letters are: ', end = '')
            print([char for char in s])
            return 0    

sum_of_digits(&quot;123&quot;)
sum_of_digits(&quot;1aw3&quot;)
sum_of_digits(&quot;&quot;)
sum_of_digits(&quot;united&quot;)&lt;/pre&gt;



&lt;p&gt;A to output:&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
1
3
6
1
4
The sum of digits operation could not detect a digit!
The returned input letters are: ['u', 'n', 'i', 't', 'e', 'd']
0&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/554965/funkcja-problem-z-output</guid>
<pubDate>Sun, 14 Nov 2021 20:14:08 +0000</pubDate>
</item>
<item>
<title>Suma stringów</title>
<link>https://forum.pasja-informatyki.pl/554811/suma-stringow</link>
<description>

&lt;p&gt;Witam,&lt;/p&gt;



&lt;p&gt;Piszę funkcję, która&amp;nbsp;powinna przyjmować string jako argument. Funkcja ma liczyć sumę wszystkich liczb w stringu, ignorując litery. Tak więc dla&amp;nbsp;sum_of_digits(&quot;a1w3&quot;) powinnam dostać:&amp;nbsp;&lt;/p&gt;



&lt;p&gt;The sum of digits operation performs 1+3&lt;/p&gt;



&lt;p&gt;The extracted non-digits are: [’a’, ’w’]&lt;/p&gt;



&lt;p&gt;Mój program liczy sumę, ale nie wyswietla tych dwóch zdań.&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
def sum_of_digits(s):
  l = []
  sum = 0
  for i in s:
    if i.isdigit():
      sum += int(i)
  if s.isalpha() and s.isdigit():
      l.append(s)
      print(&quot;The sum of digits operation performs {}&quot;. format(l))
      print(&quot;The extracted non-digits are: {} &quot;. format(l), end=&quot;\n\n&quot;)
  print(sum)
     
sum_of_digits(&quot;1aw3&quot;)  &lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/554811/suma-stringow</guid>
<pubDate>Sat, 13 Nov 2021 07:49:45 +0000</pubDate>
</item>
<item>
<title>Operacje arytmetyczne ze stringiem</title>
<link>https://forum.pasja-informatyki.pl/554360/operacje-arytmetyczne-ze-stringiem</link>
<description>

&lt;p&gt;Witam,&lt;/p&gt;



&lt;p&gt;Piszę&amp;nbsp;program, który przyjmuje 3 argumenty; dwie liczby oraz opercję do wykonania. Np.&amp;nbsp;do_arithmetic(2,3,’*’) powinna zwrócić 6. Mam do wykonania 4 operacje; dodawanie, mnożenie, odejmowanie i dzielenie. Mój kod wykonuje to wszystko, tylko mam problem z outputem. Po wywołaniu 4 funkcji z różnymi działanimi, powinnam otrzymać 4 wyniki, natomiast otrzymuję 16. Każde&amp;nbsp;wywołanie funkcji&amp;nbsp;przechodzi przez 4 operacje, a powinno tylko przez jedną. Ostatnie 3 linijki komentarza to sprawdzenie czy użytkownik nie wpisał innego znaku. Zakomentowane, bo nie jestem pewna gdzie je wstawić.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Oto mój kod:&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
#Q1.a

do_arithmetic(24,-7,'add') 

do_arithmetic(6,6,'multiply')
   
do_arithmetic(4,0,'/')

do_arithmetic(3,9,'-')


def do_arithmetic(x, y, op):
    op == 'add'                    #by default opp is set to 'add'
    if(op == 'add' or '+'):
      print(float(x+y))
    if(op == 'subtract' or '-'):
      print(float(x-y))              #returned values are float type
    if(op == 'multiply' or '*'):
      print(float(x*y))  
    if(op == 'divide' or '/'):
      if(y == 0):                  #if does not allow user to put 0 in the denominator
        print('Division by 0!')   
        return None              
      else:
        print(float(x/y)) 
     
    ##if(op!= 'add' or '+' or 'multiply' or '*' or 'subtract' or '-' or 'divide' or '/'):
      ##print('Unknown operation')
      ##return None   
    pass&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/554360/operacje-arytmetyczne-ze-stringiem</guid>
<pubDate>Sun, 07 Nov 2021 09:32:39 +0000</pubDate>
</item>
<item>
<title>Program w Pythonie</title>
<link>https://forum.pasja-informatyki.pl/553776/program-w-pythonie</link>
<description>

&lt;p&gt;Dzień dobry. Uczę się Pythona i chciałbym napisać program. Ma to być kalkulator posiadający opcje dodawania, odejmowania, mnożenia i dzielenia oraz potęgowania i modulo. Program po uruchomieniu ma wyświetlić listę opcji i pozwolić użytkownikowi na dokonanie wyboru. Następnie ma poprosić o pierwszą i drugą liczbę i wykonać odpowiednie działanie. Ma to powtarzać, aż zostanie wybrana opcja 7, czyli &quot;Wyjdź&quot;. Wtedy program ma się zakończyć. Problem w tym, że, kiedy wpisuję numer danej opcji, to Python pokazuje jeszcze raz opcje, zamiast pytać o liczby do działania i obliczać. Bardzo proszę o pomoc. Poniżej wstawiam kod:&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot; title=&quot;Kalkulator&quot;&gt;
user_choice = -1

liczba_pierwsza = -1
liczba_druga = -1
wynik = -1

while user_choice != 7:
    print(&quot;1. Dodawanie&quot;)
    print(&quot;2. Odejmowanie&quot;)
    print(&quot;3. Mnożenie&quot;)
    print(&quot;4. Dzielenie&quot;)
    print(&quot;5. Potęgowanie&quot;)
    print(&quot;6. Modulo&quot;)
    print(&quot;7. Wyjdź&quot;)

    user_choice = input(&quot;Wpisz liczbę: &quot;)

    if user_choice == 1:
        liczba_pierwsza = input(&quot;Podaj pierwszą liczbę: &quot;)
        liczba_druga = input(&quot;Podaj drugą liczbę: &quot;)
        wynik = liczba_pierwsza + liczba_druga
        print(&quot;Wynik: &quot;)
        print(wynik)

    if user_choice == 2:
        liczba_pierwsza = input(&quot;Podaj pierwszą liczbę: &quot;)
        liczba_druga = input(&quot;Podaj drugą liczbę: &quot;)
        wynik = liczba_pierwsza - liczba_druga
        print(&quot;Wynik: &quot;)
        print(wynik)

    if user_choice == 3:
        liczba_pierwsza = input(&quot;Podaj pierwszą liczbę: &quot;)
        liczba_druga = input(&quot;Podaj drugą liczbę: &quot;)
        wynik = liczba_pierwsza * liczba_druga
        print(&quot;Wynik: &quot;)
        print(wynik)

    if user_choice == 4:
        liczba_pierwsza = input(&quot;Podaj pierwszą liczbę: &quot;)
        liczba_druga = input(&quot;Podaj drugą liczbę: &quot;)
        wynik = liczba_pierwsza / liczba_druga
        print(&quot;Wynik: &quot;)
        print(wynik)

    if user_choice == 5:
        liczba_pierwsza = input(&quot;Podaj pierwszą liczbę: &quot;)
        liczba_druga = input(&quot;Podaj drugą liczbę: &quot;)
        wynik = liczba_pierwsza ** liczba_druga
        print(&quot;Wynik: &quot;)
        print(wynik)

    if user_choice == 6:
        liczba_pierwsza = input(&quot;Podaj pierwszą liczbę: &quot;)
        liczba_druga = input(&quot;Podaj drugą liczbę: &quot;)
        wynik = liczba_pierwsza % liczba_druga
        print(&quot;Wynik: &quot;)
        print(wynik)&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/553776/program-w-pythonie</guid>
<pubDate>Fri, 29 Oct 2021 19:29:40 +0000</pubDate>
</item>
<item>
<title>Problemy na początku nauki Python</title>
<link>https://forum.pasja-informatyki.pl/553760/problemy-na-poczatku-nauki-python</link>
<description>

&lt;p&gt;Cześć,&amp;nbsp;mam problem dopiero zacząłem się uczyć i chciałem napisać program w konsoli. Nie wiem z jakiego powodu nie chce mi zadziałać w teorii mam napisane, że gdy użytkownik napiszę liczbę&lt;/p&gt;



&lt;p&gt;wylosowaną ( if randint == Y: print('Zgadłeś') ale pomimo wpisywanej prawidłowej liczby nie chce mi pokazać wiadomości ,,Zgadłeś''. ktoś może mi powiedzieć dlaczego? Gdzie jest błąd?&amp;nbsp; jak coś pod&amp;nbsp;randint == Y starałem tez wstawić X lecz nie działało&amp;nbsp;
&lt;br&gt;

&lt;br&gt;
Kod:&amp;nbsp;&lt;/p&gt;



&lt;pre&gt;
from random import randint

X = ((randint(1,10)))

for X in range(1):
   print((randint(1,10)))
Y = input('Wprowadź liczbę')
if randint == Y:
    print('Zgadłeś')
&lt;/pre&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/553760/problemy-na-poczatku-nauki-python</guid>
<pubDate>Fri, 29 Oct 2021 17:41:17 +0000</pubDate>
</item>
<item>
<title>Chcę zacząć się uczyć pythona, skąd?</title>
<link>https://forum.pasja-informatyki.pl/553665/chce-zaczac-sie-uczyc-pythona-skad</link>
<description>Siemka, chciałbym zacząć od opisania sytuacji. Otóż w miarę dobrze opanowałem już C++, chciałbym coś pouczyć się języka python(ten nowszy, czyli chyba 3). Przychodzę z pytaniem, skąd mogę zaczerpnąć trochę darmowej wiedzy, przykładowo czy ktoś poleca jakieś kursy na YT. Język nie ma znaczenia, może być i po Angielsku i po Polsku</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/553665/chce-zaczac-sie-uczyc-pythona-skad</guid>
<pubDate>Thu, 28 Oct 2021 15:18:52 +0000</pubDate>
</item>
<item>
<title>invalid syntax</title>
<link>https://forum.pasja-informatyki.pl/553403/invalid-syntax</link>
<description>

&lt;p&gt;Hej,&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Przerabiam sobie książkę z wprowadzenia do pythona i mam problem z nastpeujacym bledem &quot;SyntaxError: invalid syntax&quot; bo w klikaniu się log błędów widnieje: ',' or ')' expected. Na co powinienem zwrócić uwagę aby to ruszyło?&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
print(' '{0:b}' .format((2 ** 16) 1)')&lt;/pre&gt;



&lt;p&gt;Z góry dziękuje za pomoc i pozdrawiam&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/553403/invalid-syntax</guid>
<pubDate>Mon, 25 Oct 2021 16:46:30 +0000</pubDate>
</item>
<item>
<title>Porównanie elementów w tablicach</title>
<link>https://forum.pasja-informatyki.pl/552988/porownanie-elementow-w-tablicach</link>
<description>

&lt;p&gt;Witam, mam dwie tablice, które trzeba ze sobą porównać i takie same elementy wrzucić do listy. Problem w tym, że mój kod wyrzuca pustą&amp;nbsp;tablicę&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
def makeComparison():
  a = (2, 3, 4, 6, 7, 8)
  b = (5, 1, 2, 7, 8, 10, 35)
  extraList = []
  for i in range(len(a)):
    if(a[i] == b[i]) is True:
      extraList.extend(i)   
  return extraList 

makeComparison()&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/552988/porownanie-elementow-w-tablicach</guid>
<pubDate>Tue, 19 Oct 2021 20:24:42 +0000</pubDate>
</item>
<item>
<title>Wypisanie inputu w jednej linii</title>
<link>https://forum.pasja-informatyki.pl/552022/wypisanie-inputu-w-jednej-linii</link>
<description>

&lt;p&gt;Witam,&lt;/p&gt;



&lt;p&gt;Dwa dni temu zaczęłam z Pythonem. Mam do napisania prościutki program, który pobiera informacje od uzytkownika tj, imię, wiek, i miasto pochodzenia. Kod powinien zadać pytanie i zapisać odpowiedź w tej samej linii, a zapisuje w nowej. Wygląda to tak:&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
name = input (&quot;What's your name? &quot;)
print (&quot;Hi&quot;, name, &quot;how do you do.&quot;)
print(&quot;How old are you&quot;, name, &quot;?&quot;); age = input()
print(&quot;Great&quot;, name, &quot;I'm&quot;, age, &quot;years old too.&quot;)
print(&quot;Which city do you come from&quot;, name, &quot;?&quot;, ); city = input()
print(&quot;What a coincidence, I am from&quot;, city, &quot;too.&quot;)
print(name, &quot;here is your record ....&quot;)
print(&quot;NAME   AGE    CITY&quot;)
print(&quot;---------------------&quot;)
print(name, age, city)&lt;/pre&gt;



&lt;p&gt;Tak wygląda mój output:&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=13502194236772449285&quot; style=&quot;height:120px; width:180px&quot;&gt;&lt;/p&gt;



&lt;p&gt;A powinno być tak:&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=5472434412201273611&quot; style=&quot;height:158px; width:250px&quot;&gt;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/552022/wypisanie-inputu-w-jednej-linii</guid>
<pubDate>Tue, 05 Oct 2021 20:47:39 +0000</pubDate>
</item>
<item>
<title>nauka pythona</title>
<link>https://forum.pasja-informatyki.pl/550189/nauka-pythona</link>
<description>czesc, bawilem sie pare miesiecy w c++, pozniej w c#, a kiedys jeszcze w htmlu i chwilowo w w pythonie. naszla mnie znowu duza chec na pythona gdy zobaczylem jak zrobic cos na wzor spambota. taki prosty uzywajac pyautogui, program wypisywal na klawiaturze slowa z pliku tekstowego i sam klikal enter. spodobalo mi sie to na tyle zeby kontynuowac nauke. i tu jest moje pytanie, sa jeszcze jakies na poczatek proste zadania podobne do tego, lub takie mozna powiedziec &amp;quot;uzyteczne&amp;quot;? dodam ze programowanie obiektowe jako samo w sobie nawet rozumiem, tak samo jak podstawy pythona, wiec nie potrzebuje jakichs zadan typu dodaj dwie zmienne itp. mozecie tez podsylac jakies jakby to ujac &amp;quot;hakerskie&amp;quot; zadania bo ostatnio troche mnie to zaciekawilo. &lt;br /&gt;
&lt;br /&gt;
z gory dziekuje za propozycje!&lt;br /&gt;
&lt;br /&gt;
ps przepraszam za brak polskich znakow i male litery, wiem ze nie czyta sie tego fajnie ale skaplem sie ze tak pisze dopiero pod koniec postu.</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/550189/nauka-pythona</guid>
<pubDate>Wed, 01 Sep 2021 12:27:07 +0000</pubDate>
</item>
<item>
<title>Struktura katalogów prostego projektu Python</title>
<link>https://forum.pasja-informatyki.pl/549826/struktura-katalogow-prostego-projektu-python</link>
<description>Witam, niedawno zacząłem uczyć się Python. Zacząłem pisać aplikacje konsolową &amp;quot;do szuflady&amp;quot;. ale powoli zaczyna robić mi się trochę nieczytelnie. dużo plików z klasami, funkcjami, pliki z danymi itp/itd... Chciał bym was się zapytać jak zbudować dobre czytelne drzewo katalogów by wszystko było poukładane i czytelne by ktoś kto w to może w przyszłości zajrzy mógł szybko się zorientować co gdzie jest i dlaczego.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Z góry dzięki za podpowiedzi ; )</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/549826/struktura-katalogow-prostego-projektu-python</guid>
<pubDate>Thu, 26 Aug 2021 14:26:38 +0000</pubDate>
</item>
<item>
<title>Jak zrobić bota w Python?(nie automat)</title>
<link>https://forum.pasja-informatyki.pl/547235/jak-zrobic-bota-w-python-nie-automat</link>
<description>Hej,&lt;br /&gt;
&lt;br /&gt;
Do tej pory bawiłem się w automatyzowanie procesów itp. za pomocą selenium i niektórzy mówią że to tworzenie bota, ale przed chwilą się dowiedziałem, że to automat a nie bot, a że selenium jest wolne i nieefektywne często, to mam pytanie, jakiej biblioteki w python się używa do robienia prawdziwego bota(a nie automat, np. do kupowania produktów w internecie)? Z góry dziękuję za odpowiedź!&lt;br /&gt;
&lt;br /&gt;
Pozdrawiam :)</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/547235/jak-zrobic-bota-w-python-nie-automat</guid>
<pubDate>Wed, 21 Jul 2021 08:09:30 +0000</pubDate>
</item>
<item>
<title>Python &gt;&gt;&gt;&gt; Dlaczego ten program nie działa  !??  &quot;FileNotFoundError: [WinError 2] The system cannot...&quot;</title>
<link>https://forum.pasja-informatyki.pl/545643/python-dlaczego-ten-program-nie-dziala-filenotfounderror-winerror-system-cannot</link>
<description>

&lt;p&gt;Plik numer 1)&amp;nbsp; &lt;strong&gt;hotel_guest.py&lt;/strong&gt;&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
from serialization import *


print(&quot;Witaj w programie do obslugi gosci hotelowych.&quot;)
wybor = -1

while(wybor != 0):
    wybor = int(input(
        &quot;\nWybierz opcje: \n1–dodaj nowego goscia\n2–usun goscia\n3–znajdz goscia\n0–zakoncz dzialanie programu\n –&amp;gt; : &quot;))

    if (wybor == 1):
        dodajGoscia()
    elif (wybor == 2):
        nazwisko = input(&quot;\nPodaj nazwisko usuwanego goscia: &quot;)
        usunGoscia(nazwisko)
    elif (wybor == 3):
        nazwisko = input(&quot;\nPodaj nazwisko szukanego goscia: &quot;)
        szukajGoscia(nazwisko)
    elif (wybor &amp;lt; 0 or wybor &amp;gt; 3):
        print(&quot;Nie ma takiej opcji!&quot;)

print(&quot;\nDziekuje za skorzystanie z mojego programu!&quot;)
&lt;/pre&gt;



&lt;p&gt;Plik numer 2) &lt;strong&gt;serialization.py&lt;/strong&gt;&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
import pickle
import os


def zapiszDane(daneGosci):
    with open(&quot;daneGosci&quot;, &quot;wb&quot;) as plik:
        pickle.dump(daneGosci, plik)


def odczytajDane():
    daneGosci = {}
    statinfo = os.stat(&quot;daneGosci&quot;)
    if (statinfo.st_size == 0):
        return daneGosci
    try:
        with open(&quot;daneGosci&quot;, &quot;rb&quot;) as plik:
            daneGosci = pickle.load(plik)
    except EOFError:
        print(&quot;Plik jest pusty!&quot;)
    return daneGosci


def dodajGoscia():
    daneGosci = {}
    nazwisko = input(&quot;Podaj nazwisko goscia: &quot;)
    if (szukajGoscia(nazwisko) == 1):
        print(&quot;\nNie mozna dodac goscia! Istnieje juz gosc o takim nazwisku.&quot;)
        return 1
    imie = input(&quot;\nPodaj imie goscia: &quot;)
    adres = input(&quot;Podaj adres goscia: &quot;)
    telefon = input(&quot;Podaj telefon goscia: &quot;)
    daneGosci = odczytajDane()
    daneGoscia = [imie, nazwisko, adres, telefon]
    daneGosci.update({daneGoscia[0]: daneGoscia})
    zapiszDane(daneGosci)
    daneGoscia = []


def szukajGoscia(nazwisko):
    daneGosci = {}
    daneGosci = odczytajDane()
    print(&quot;szukajGoscia&quot;, daneGosci)
    if (daneGosci.get(nazwisko, 0) != 0):
        print(daneGosci[nazwisko])
        return 1
    else:
        print(&quot;\nNie znaleziono goscia o takim nazwisku!&quot;)
        return 0


def usunGoscia(nazwisko):
    daneGosci = {}
    daneGosci = odczytajDane()
    del daneGosci[nazwisko]
    zapiszDane(daneGosci)
&lt;/pre&gt;



&lt;p&gt;Po podaniu nazwiska gościa w opcji numer 1,2,3 terminal wypluwa błąd:&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;FileNotFoundError: [WinError 2] The system cannot find the file specified: 'daneGosci' &lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Opcja 0 działa bez zarzutu terminal pokazuje:&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Dziekuje za skorzystanie z mojego programu!&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Ktoś ma jakiś pomysł !? &lt;img alt=&quot;laugh&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/teeth_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;laugh&quot;&gt;&lt;/p&gt;



&lt;p&gt;Pozdrawiam i życzę udanej Niedzieli Wszystkim &lt;img alt=&quot;wink&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/wink_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;wink&quot;&gt;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/545643/python-dlaczego-ten-program-nie-dziala-filenotfounderror-winerror-system-cannot</guid>
<pubDate>Sun, 04 Jul 2021 14:37:24 +0000</pubDate>
</item>
<item>
<title>Nieoczekiwana rekursja w Pythonie</title>
<link>https://forum.pasja-informatyki.pl/543781/nieoczekiwana-rekursja-w-pythonie</link>
<description>

&lt;p&gt;Witam. Mam problem z klasą setwrapper.SetSub. Klasa SetSub ma rozszerzać klasę Set i ma symulować dzialanie listy za pomocą zbioru. Gdy importuję w sesji interaktywnej moduł po czym próbuję wywołać konstruktor wywala mi coś takiego:&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
&amp;gt;&amp;gt;&amp;gt; from setwrapper import SetSub
&amp;gt;&amp;gt;&amp;gt; SetSub(1, 2, 3)
Traceback (most recent call last):
  File &quot;&amp;lt;input&amp;gt;&quot;, line 1, in &amp;lt;module&amp;gt;
  File &quot;/home/z3us/PycharmProjects/python_wprowadzenie/setwrapper.py&quot;, line 46, in __init__
    super(SetSub, self).__init__(value)
  File &quot;/home/z3us/PycharmProjects/python_wprowadzenie/setwrapper.py&quot;, line 3, in __init__
    self.data = []
  File &quot;/home/z3us/PycharmProjects/python_wprowadzenie/setwrapper.py&quot;, line 58, in __setattr__
    if value not in self.data:
  File &quot;/home/z3us/PycharmProjects/python_wprowadzenie/setwrapper.py&quot;, line 52, in __getattr__
&amp;nbsp;&amp;nbsp;&amp;nbsp; if item in self.data:
&amp;nbsp; File &quot;/home/z3us/PycharmProjects/python_wprowadzenie/setwrapper.py&quot;, line 52, in __getattr__
&amp;nbsp;&amp;nbsp;&amp;nbsp; if item in self.data:
&amp;nbsp; File &quot;/home/z3us/PycharmProjects/python_wprowadzenie/setwrapper.py&quot;, line 52, in __getattr__
&amp;nbsp;&amp;nbsp;&amp;nbsp; if item in self.data:
&amp;nbsp; [Previous line repeated 983 more times]
RecursionError: maximum recursion depth exceeded
&lt;/pre&gt;



&lt;p&gt;Kod:&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
class Set:
    def __init__(self, value=[]):
        self.data = []
        self.concat(value)

    def intersect(self, other):
        res = []
        for x in self.data:
            if x in other:
                res.append(x)
        return Set(res)

    def union(self, other):
        res = self.data[:]
        for x in other:
            if not x in res:
                res.append(x)
        return Set(res)

    def concat(self, value):
        for x in value:
            if not x in self.data:
                self.data.append(x)

    def __len__(self):
        return len(self.data)

    def __getitem__(self, item):
        return self.data[item]

    def __and__(self, other):
        return self.intersect(other)

    def __or__(self, other):
        return self.union(other)

    def __repr__(self):
        return 'Zbiór: ' + repr(self.data)

    def __iter__(self):
        return iter(self.data)


class SetSub(Set):
    def __init__(self, *value):
        super(SetSub, self).__init__(value)

    def __add__(self, other):
        return self | other

    def __getattr__(self, item):
        if item in self.data:
            return self.data[item]
        else:
            raise IndexError()

    def __setattr__(self, key, value):
        if value not in self.data:
            self.data[key] = value

    def append(self, item):
        if item not in self.data:
            self.data.append(item)
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/543781/nieoczekiwana-rekursja-w-pythonie</guid>
<pubDate>Mon, 14 Jun 2021 14:48:10 +0000</pubDate>
</item>
<item>
<title>Prośba o ocenę programu w Pythonie</title>
<link>https://forum.pasja-informatyki.pl/541650/prosba-o-ocene-programu-w-pythonie</link>
<description>Siema! Rzuci ktoś okiem na mój programik napisany w Pythonie?&lt;br /&gt;
Piszę program do nauki historii. Mam zamiar dokonać w nim kilku ulepszeń jak np. ogarnięcie formatu json zamiast pickle, zrobienie jakiegoś gui w tk lub curses, dodanie ascii artów.&lt;br /&gt;
Byłbym wdzięczny za code review.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://dpaste.com/G8LMKFJJJ&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://dpaste.com/G8LMKFJJJ&lt;/a&gt;</description>
<category>Nasze projekty</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/541650/prosba-o-ocene-programu-w-pythonie</guid>
<pubDate>Wed, 19 May 2021 17:15:24 +0000</pubDate>
</item>
<item>
<title>Program zliczający ilość losowań potrzebny do trafienia &quot;6&quot;</title>
<link>https://forum.pasja-informatyki.pl/537817/program-zliczajacy-ilosc-losowan-potrzebny-do-trafienia-6</link>
<description>

&lt;p&gt;Hej,&lt;/p&gt;



&lt;p&gt;program ma na celu zliczenie ile razy musiałbym losować kupon aby w końcu trafić &quot;6&quot;. Ma wyświetlić ilość prób oraz wygrane cyfry. Niestety nie działa :D Ja nie potrafię już dziś zweryfikować co źle zobiłem (obstawiam że coś nie tak z pętlami). Bardzo proszę o wskazówki :)&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
tab=['a','e','x','t','b','3','536','2','5','6','79','5634','2','234','0']
win=['a','x','3','79','b']
t1=[]
active=True
p=0
while active:
    for i in range(5):
        wygrana=choice(tab)
        t1.append(wygrana)
    win.sort()
    t1.sort()
    if win==t1:
        p+=1
        print(f&quot;Wygrałeś!! Potrzebowałeś {p} losowań a twój kupon to {t1}&quot;)
        active=False
    else:
        p+=1&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/537817/program-zliczajacy-ilosc-losowan-potrzebny-do-trafienia-6</guid>
<pubDate>Fri, 16 Apr 2021 16:53:05 +0000</pubDate>
</item>
<item>
<title>Skrypt dopasowujący ocenę</title>
<link>https://forum.pasja-informatyki.pl/536839/skrypt-dopasowujacy-ocene</link>
<description>

&lt;p&gt;Mam wykonać skrypt, który z wpisania jakiejś liczby punktów dopasuje ocenę. Mam coś , ale np 61 zamiast 4 daje ocenę 5.&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
print( &quot;podaj mi liczbę punktów?&quot;)
liczba = int(input())
if liczba &amp;lt;=0:
  print(&quot;Jest to ocena 1&quot;)
if liczba &amp;lt;= 24:
  print(&quot;Jest to ocena 2&quot;)
if liczba &amp;lt;= 47:
 print(&quot;Jest to ocena 3&quot;)
if liczba &amp;lt;= 60:
 print(&quot;Jest to ocena 4&quot;)
if liczba &amp;lt;=75:
 print (&quot;Jest to ocena 5&quot;)
if liczba &amp;lt;=94:
 print (&quot;Jest to ocena 6&quot;) 
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/536839/skrypt-dopasowujacy-ocene</guid>
<pubDate>Sat, 10 Apr 2021 16:58:55 +0000</pubDate>
</item>
<item>
<title>Python - Powtórzenie działania programu</title>
<link>https://forum.pasja-informatyki.pl/535440/python-powtorzenie-dzialania-programu</link>
<description>

&lt;p&gt;Hej, zrobiłem w pythonie prosty kalkulator i chciałbym aby po zakończeniu działania była możliwość np. poprzez wpisanie &quot;start&quot;, uruchomienie programu ponownie. Czy wie ktoś jak coś takiego zrobić ?&amp;nbsp;&lt;img alt=&quot;smiley&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/regular_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;smiley&quot;&gt;&amp;nbsp;Próbowałem trochę z funkcjami ale nic z tego nie wyszło :/&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
import math

def dodawanie(x,y):
    print(&quot;RESULT:&quot; , x+y)
def odejmowanie(x,y):
    print(&quot;RESULT:&quot; , x-y)
def dzielenie(x,y):
    print(&quot;RESULT:&quot; , x/y)
def mnozenie(x,y):
    print(&quot;RESULT:&quot; , x*y)
def potegowanie(x,y):
    print(&quot;RESULT:&quot; , x**y)
def pierwiastekkwadrat(x):
    print(&quot;RESULT:&quot; , math.sqrt(x))



print(&quot;-----------------------------------------------------&quot;)
print(&quot;                  | CALCULATOR |     7.leave&quot;)
print(&quot;-----------------------------------------------------&quot;)
print(&quot;  | 1.addition       2.substraction 3.division    |&quot;)
print(&quot;  | 4.multiplication 5.exponent     6.square root | &quot;)
print(&quot;-----------------------------------------------------&quot;)

wybor = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
wybor = int(wybor)
#dodawanie
if wybor== 1:
    print(&quot;Type first number&quot;)
    x = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
    x = float(x)
    if x&amp;gt;-999999999999999999999999999999999999999999:
        print(&quot;Type second number | your action:&quot; , x , &quot;+&quot; , &quot;|__|&quot;)
        y = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
        y = float(y)
        print(&quot;-----------------------------------------------------&quot;)
        print(&quot;your action:&quot; , x , &quot;+&quot; , y)
        print(&quot;-----------------------------------------------------&quot;)
        print(&quot;Type 'calculate' to calculate the action &quot;)
        dodawanieoblicz = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
        dodawanieoblicz = str(dodawanieoblicz)
        if dodawanieoblicz==&quot;calculate&quot;:
            print(&quot;-----------------------------------------------------&quot;)
            dodawanie(x, y)
            print(&quot;-----------------------------------------------------&quot;)
#odejmowanie
if wybor== 2:
    print(&quot;Type first number&quot;)
    x = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
    x = float(x)
    if x&amp;gt;-999999999999999999999999999999999999999999:
        print(&quot;Type second number | your action:&quot; , x , &quot;-&quot; , &quot;|__|&quot;)
        y = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
        y = float(y)
        print(&quot;-----------------------------------------------------&quot;)
        print(&quot;your action:&quot; , x , &quot;-&quot; , y)
        print(&quot;-----------------------------------------------------&quot;)
        print(&quot;Type 'calculate' to calculate the action &quot;)
        odejmowanieoblicz = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
        odejmowanieoblicz = str(odejmowanieoblicz)
        if odejmowanieoblicz==&quot;calculate&quot;:
            print(&quot;-----------------------------------------------------&quot;)
            odejmowanie(x, y)
            print(&quot;-----------------------------------------------------&quot;)
#dzielenie
if wybor== 3:
    print(&quot;Type first number&quot;)
    x = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
    x = float(x)
    if x&amp;gt;-999999999999999999999999999999999999999999:
        print(&quot;Type second number | your action:&quot; , x , &quot;/&quot; , &quot;|__|&quot;)
        y = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
        y = float(y)
        print(&quot;-----------------------------------------------------&quot;)
        print(&quot;your action:&quot; , x , &quot;/&quot; , y)
        print(&quot;-----------------------------------------------------&quot;)
        print(&quot;Type 'calculate' to calculate the action&quot;)
        dzielenieoblicz = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
        dzielenieoblicz = str(dzielenieoblicz)
        if dzielenieoblicz==&quot;calculate&quot;:
            print(&quot;-----------------------------------------------------&quot;)
            dzielenie(x, y)
            print(&quot;-----------------------------------------------------&quot;)
#mnozenie
if wybor== 4:
    print(&quot;Type first number&quot;)
    x = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
    x = float(x)
    if x&amp;gt;-999999999999999999999999999999999999999999:
        print(&quot;Type second number | your action:&quot; , x , &quot;*&quot; , &quot;|__|&quot;)
        y = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
        y = float(y)
        print(&quot;-----------------------------------------------------&quot;)
        print(&quot;your action:&quot; , x , &quot;*&quot; , y)
        print(&quot;-----------------------------------------------------&quot;)
        print(&quot;Type 'calculate' to calculate the action&quot;)
        mnozenieoblicz = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
        mnozenieoblicz = str(mnozenieoblicz)
        if mnozenieoblicz==&quot;calculate&quot;:
            print(&quot;-----------------------------------------------------&quot;)
            mnozenie(x, y)
            print(&quot;-----------------------------------------------------&quot;)
#potegowanie
if wybor== 5:
    print(&quot;Type first number&quot;)
    x = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
    x = float(x)
    if x&amp;gt;-999999999999999999999999999999999999999999:
        print(&quot;Type second number | your action:&quot; , x , &quot;^&quot; , &quot;|__|&quot;)
        y = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
        y = float(y)
        print(&quot;-----------------------------------------------------&quot;)
        print(&quot;your action:&quot; , x , &quot;^&quot; , y)
        print(&quot;-----------------------------------------------------&quot;)
        print(&quot;Type 'calculate' to calculate the action&quot;)
        potegowanieoblicz = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
        potegowanieoblicz = str(potegowanieoblicz)
        if potegowanieoblicz==&quot;calculate&quot;:
            print(&quot;-----------------------------------------------------&quot;)
            potegowanie(x, y)
            print(&quot;-----------------------------------------------------&quot;)

if wybor== 6:
    print(&quot;Type number&quot;)
    x = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
    x = float(x)
    if x&amp;gt;-999999999999999999999999999999999999999999:
        print(&quot;-----------------------------------------------------&quot;)
        print(&quot;your action: √&quot;,x,)
        print(&quot;-----------------------------------------------------&quot;)
        print(&quot;Type 'calculate' to calculate the action&quot;)
        pierwiastekkwadratoblicz = input(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;)
        pierwiastekkwadratoblicz = str(pierwiastekkwadratoblicz)
        if pierwiastekkwadratoblicz==&quot;calculate&quot;:
            print(&quot;-----------------------------------------------------&quot;)
            pierwiastekkwadrat(x)
            print(&quot;-----------------------------------------------------&quot;)

if wybor==7:
    print(&quot;The Program was successfully ended&quot;)
    exit()

if wybor&amp;gt;7:
    print(&quot;Undefined command, please restart the program&quot;)





&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/535440/python-powtorzenie-dzialania-programu</guid>
<pubDate>Wed, 31 Mar 2021 18:25:30 +0000</pubDate>
</item>
<item>
<title>Python - Najlepsze aktualne książki języka w 2021</title>
<link>https://forum.pasja-informatyki.pl/535006/python-najlepsze-aktualne-ksiazki-jezyka-w-2021</link>
<description>

&lt;p&gt;&lt;span style=&quot;font-size:14px&quot;&gt;Witam,&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;&lt;span style=&quot;font-size:14px&quot;&gt;Chciałem się zorientować jakie książki są&amp;nbsp;najlepsze&amp;nbsp;do nauki Pythona 3 w 2021&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;&lt;span style=&quot;font-size:14px&quot;&gt;Zależy mi na tym, aby była przejrzysta, z przykładami oraz używała aktualnych bibliotek. I nie owijała w bawełnę.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;&lt;span style=&quot;font-size:14px&quot;&gt;Chcę nauczyć się pythona od wprowadzenia do poziomu zaawansowanego. Mam nadzieję, że znajdą się książki, które mi w tym pomogą&amp;nbsp;:)&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/535006/python-najlepsze-aktualne-ksiazki-jezyka-w-2021</guid>
<pubDate>Mon, 29 Mar 2021 08:11:11 +0000</pubDate>
</item>
<item>
<title>Dlaczego moje wyrażenie regularne nie działa?</title>
<link>https://forum.pasja-informatyki.pl/531864/dlaczego-moje-wyrazenie-regularne-nie-dziala</link>
<description>

&lt;p&gt;Hej,&lt;/p&gt;



&lt;p&gt;Mam kod:&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
raw_str4 = &quot;Dostępne opakowania - 5 kg, 18 kg, 25 kg i 28 kg.&quot;

weights_regex = &quot;[0-9]+ (l|g|g\*|kg|kg\.|kg,|litr|litry)&quot;
found_weights = re.findall(weights_regex, raw_str4)
print(found_weights)&lt;/pre&gt;



&lt;p&gt;Chciałbym aby w found weights była lista, w tym przykładzie jak: [5kg, 18kg, 25kg, 28kg]&lt;/p&gt;



&lt;p&gt;Jednak program zwraca mi listę:&amp;nbsp;['kg', 'kg', 'kg', 'kg']&lt;/p&gt;



&lt;p&gt;Sprawdzałem to wyrażenie regularne z&amp;nbsp;&lt;a href=&quot;https://regex101.com/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://regex101.com/&lt;/a&gt; i tam zwracało mi poprawny wynik więc nie wiem gdzie robię błąd.&lt;/p&gt;



&lt;p&gt;Moje pytanie to: jak skonstruować to wyrażenie regularne tak aby zwracało mi poprawną listę czyli&amp;nbsp;[5kg, 18kg, 25kg, 28kg] ?&lt;/p&gt;



&lt;p&gt;Dzięki za pomoc.&lt;/p&gt;



&lt;p&gt;Cześć.&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/531864/dlaczego-moje-wyrazenie-regularne-nie-dziala</guid>
<pubDate>Fri, 05 Mar 2021 12:28:51 +0000</pubDate>
</item>
</channel>
</rss>