Aktualny czas: 22.10.2018, 01:44 Witaj! (LogowanieRejestracja)

Na stronie pojawił się zaległy odcinek 856 jak i od razu 857!
Zapraszamy do oglądania i komentowania:)
Odpowiedz 
Python (Programistyka)
Autor Wiadomość
Dragonfly Offline
I Oficer
Pirat

*
Liczba postów: 417
Dołączył: 02.01.2012
Skąd: East Blue
Poziom ostrzeżeń: 0%
Post: #1
Python (Programistyka)
Hmm, zacznę od tego, że nie wiedziałem do jakiego działu dać ten temat i po prostu zdecydowałem, że poleci tu, jako iż jest to sprawa do was, mimo iż polega na elektronice. Otóż, zacząłem Technikum, niedawno i mam taki maluśki problem. Otóż (Po raz drugi), przez wakacje wkuwałem język C++ (Chyba każdy wie o co cho) i nawet rozumiałem o co w nim chodzi itp, a zawdzięczałem to bardzo dobrej książce (Symfonia C++ Standard, Jerzy Grębosz) i temu, że w tej książce wszystko było ładnie wyjaśnione i od razu zapoznawałem się co dany kod robi i dlaczego... Teraz kiedy poszedłem do Technikum, rozczarowałem się baardzo, bo nauczyciel powiedział, że będziemy programować w języku Python, ale zapewniał mnie, że jest bardzo podobny do C++... Może ma podobne słowa, ale.. Sęk leży w tym jak się go uczę.. Otóż (Po raz trzeci), dziś poszedłem na swą pierwszą lekcję programowania i z osłupieniem patrzyłem w ekran a na moim czole widniało jedno wielkie "WTF".. Problem jest taki, że uczymy się kodować na stronie internetowej "codeacademy.com", strona niczego sobie, nawet pomocna... ale ma jeden szkopuł... Po paru skończonych zadaniach zrozumiałem, że nic nie rozumiem z tego co robię. Okej stronka mi każe wklepać to i to, ale nie rozumiem dlaczego to i to i jak to działa. Czyli innymi słowy: Nie ma objaśnień. Dlatego zwracam się z tym problemem do was... Bo przecież taka nauka to nie jest nauka, na testach pewnie będę świecił oczami, bo umiem wklepać kod, ale nie umiem objaśnić co robi dana linijka O.o Także, chciałbym po prostu prosić o to by ktoś kto uczył się w tym języku i wie o co cho, polecił mi jakąś książkę, która wyjaśni mi krok po kroku jak krok po kroku zrobić krok po kroku. Chodzi mi o najmniejsze, nawet najmniej ważne szczegóły, bym wiedział co i jak. najlepiej by książka była po Polsku, ale z Angielskim nie mam problemów, więc jak już nie da rady po Polsku, to może być po Anglińsku (xD). Z góry dzięki... Ahh i jeżeli mój post jest zagmatwany itp itd... No cóż... Mam tylko nadzieję, że mnie jakoś zrozumieliście Big Grin Tongue

[Obrazek: lw0y.png]

Dla niewiedzących: Kiedyś zwałem się Carsis
26.08.2013 21:35
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post Return to top
xav92 Offline
Yonkou
Pirat

*
Liczba postów: 1,897
Dołączył: 26.01.2012
Skąd: Jaworzno/Kraków
Poziom ostrzeżeń: 0%
Post: #2
RE: Python (Programistyka)
Miałem w tym semestrze pythona. Ale nie uczyłem się z konkretnej książki tylko patrzyłem głównie do dokumentacji: python. Język pyhon ogólnie jest łatwiejszy od C++, ale błędem byłoby się go uczyć wcześniej niż C++. W tej dokumentacji w miarę fajnie wszystko wytłumaczone. Ja miałem trochę problemów z programowaniem funkcyjnym (funkcje typu: lambda, map, filter), ale z czasem załapałemBig Grin
No niestety dalej mam problemy jeśli o łączenie pythona z C++ lub Javą, ale dzięki tej dokumentacji dużo załapałemBig Grin Ewentualnie same podstawy uczyłem się na youtubie z kanału TheNewBoston, pomijałem tam tylko odcinki jak było, o składniach które są identyczne jak w C++. Ale gościu dobrze tłumaczy idee słowników czy list oraz stringów ale niestety tylko podstawy. A w tej dokumentacji co podałem jest dość obszernie wytłumaczone i są często nawet przykładySmile

Cytat:"Przez czynienie sobie dobra nawzajem, do dobra ogólnego." J. Kano
26.08.2013 21:57
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post Return to top
Dragonfly Offline
I Oficer
Pirat

*
Liczba postów: 417
Dołączył: 02.01.2012
Skąd: East Blue
Poziom ostrzeżeń: 0%
Post: #3
RE: Python (Programistyka)
Tja, od Niego uczę się XHTML i CSS... No i potem w szkole mam jeszcze SQL.. Czyli w moje technikum wchodzą cztery języki xD. Dzięks Xav, jak zrobię moją pierwszą grę, zapamiętam byś to ty był pierwszym, który w nią zagra xD

[Obrazek: lw0y.png]

Dla niewiedzących: Kiedyś zwałem się Carsis
26.08.2013 22:06
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post Return to top
xav92 Offline
Yonkou
Pirat

*
Liczba postów: 1,897
Dołączył: 26.01.2012
Skąd: Jaworzno/Kraków
Poziom ostrzeżeń: 0%
Post: #4
RE: Python (Programistyka)
No python ma nawet specjalną bibliotekę do tworzenia gier jak cośTongue

Cytat:"Przez czynienie sobie dobra nawzajem, do dobra ogólnego." J. Kano
26.08.2013 22:09
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post Return to top
golbat Offline
Majtek
Pirat

*
Liczba postów: 74
Dołączył: 16.07.2012
Skąd: 192.168.0.1
Poziom ostrzeżeń: 0%
Post: #5
RE: Python (Programistyka)
Jeśli miałeś trochę styczności z c++(na trochę większym poziomie niż wypisanie silni na standardowe wyjście) to python nie powinien ci przysporzyć żadnych problemów. Składnię ma bardzo fajną, chociaż trzeba się przyzwyczaić do braku tych nieszczęsnych średników na które każdy początkujący zresztą programista narzeka, i ustanawianie bloków kodu poprzez tabulację(kwestia przyzwyczajenia naprawdę). Dalej to już jak Xav napisał - dokumentacja pythona, która jest przyjemnie i przystępnie napisana. Biblioteka standardowa to podstawa każdego języka i bez jej znajomości nie ma co się dziwić, że nie wiadomo co nasz kod robi. Polecam zaopatrzyć się w jakieś IDE z ładnym podpowiadaniem składni i funkcji(np. eclipse), który po najechaniu na każdą funkcję wyświetli nam do niej dokumentację. Rozwiązanie kiepskie do nauki języka, ale myślę, że ułatwi trochę przyzwyczajenie się do pythona.

za warudo
27.08.2013 19:36
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post Return to top
xav92 Offline
Yonkou
Pirat

*
Liczba postów: 1,897
Dołączył: 26.01.2012
Skąd: Jaworzno/Kraków
Poziom ostrzeżeń: 0%
Post: #6
RE: Python (Programistyka)
No eclipse to jedno z najbardziej popularnych i lepszych IDE do języków jakimi są Python i Java.

Cytat:"Przez czynienie sobie dobra nawzajem, do dobra ogólnego." J. Kano
27.08.2013 20:13
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post Return to top
Cthulhu Niedostępny
Stalker
Tom's Workers

*
Liczba postów: 245
Dołączył: 15.05.2012
Skąd: Wrocław
Poziom ostrzeżeń: 0%
Post: #7
RE: Python (Programistyka)
Nie mówiąc o tym, że składnia wymusza porządek w kodzie, który jest bardzo porządany Big Grin Pisząc kod w jakimkolwiek języku programowania warto prowadzić tabulacje aby kod był czytelniejszy i żebyśmy później potrafili się w nim połapać Smile
28.08.2013 09:06
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post Return to top
Dragonfly Offline
I Oficer
Pirat

*
Liczba postów: 417
Dołączył: 02.01.2012
Skąd: East Blue
Poziom ostrzeżeń: 0%
Post: #8
RE: Python (Programistyka)
Okej piszę, bo na forum jest pewnie kilku znawców języka Python, a ja mam w nim problematyczny problem.. Do czwartku mam oddać dwa programy robiące "x" rzecz, ale nie wiem jak się za nie zabrać, dlatego, podam może przykłady tych zadań a ktoś z was pomoże mi je rozwiązać. Prosiłbym o wyjaśnienia dlaczego takie zmienne lub takie funkcje zostały użyte, żebym w pełni mógł zrozumieć o co cho.

Pierwszy program jest taki: Prosi użytkownika o 5 liczb, potem te 5 liczb umieszcza w zmiennych i wylicza która z tych pięciu liczb jest najwyższa i najniższa. Na ekranie ma widnieć: Liczba x jest najwyższa i Liczba x jest najniższa.

Drugi Program: Ten jest bardziej skomplikowany.. Ma wybierać użytkownikowi liczby lotto. Najpierw program ma spytać użytkownika o to w jakie lotto chciałby zagrać (Z trzech możliwych (Lotto, Eurolotto i EuroJackpot)

Jeżeli Lotto zostało wybrane, program ma wydrukować mi 5 liczb z 40 możliwych
Jeżeli EuroLotto zostało wybrane, program ma wydrukować 6 liczb z 48 możliwych
Jeżeli Eurojackpot zostało wybrane, program ma wydrukować 5 liczb z 50 możliwych

Potem program pyta czy użytkownik chce znów zagrać.



Z góry dziękuję wam za pomoc, bo naprawdę nie wiem jak to ugryźć i już dwa dni nad tym głowię... Jeszcze raz dzięki za pomoc

[Obrazek: lw0y.png]

Dla niewiedzących: Kiedyś zwałem się Carsis
01.10.2013 16:29
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post Return to top
xav92 Offline
Yonkou
Pirat

*
Liczba postów: 1,897
Dołączył: 26.01.2012
Skąd: Jaworzno/Kraków
Poziom ostrzeżeń: 0%
Post: #9
RE: Python (Programistyka)
Dobra. Programy proste więc masz:
Spoiler :
import sys

liczby = []
i=0
while i < 5:
liczby.append( input( "Podaj kolejna liczbe: "))
i += 1

max = sys.minint
min = sys.maxint

for liczba in liczby:
if liczba > max:
max = liczba
if liczba < min:
min = liczba

print("Najwieksza liczba to: " + str(max) + ", a najmniejsza to: " + str(min))
Po kolei:
-Tworzę listę (tablicę) oraz iterator
-W pętli wczytuję kolejne liczby z klawiatury (input) i od razu dodaję na koniec listy (liczby.append)
-Biorę do max najmniejszego int'a sys.minint i analogicznie ze zmienną min
-W pętli for idę po elementach listy porównując z max i min. Jeśli większa od max to przypisuję do max i analogicznie z min.
-Wypisuję na ekran największą i najmniejszą
Można to zrobić w krótszym zapisie (funkcyjnym) ale dla początkujących może to być trudne.
Reszta za chwilęSmile

Cytat:"Przez czynienie sobie dobra nawzajem, do dobra ogólnego." J. Kano
(Ten post był ostatnio modyfikowany: 01.10.2013 18:26 przez xav92.)
01.10.2013 18:25
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post Return to top
Cthulhu Niedostępny
Stalker
Tom's Workers

*
Liczba postów: 245
Dołączył: 15.05.2012
Skąd: Wrocław
Poziom ostrzeżeń: 0%
Post: #10
RE: Python (Programistyka)
Ja co prawda pythona nie znam ale generalnie przy tworzeniu programu najważniejsza jest logika i algorytm, którym się posłużymy. Czyli tak:
1. musisz zadeklarować 5 zmiennych czyli te liczby, najlepiej pododawać komunikaty do tych zmiennych typu (napisze tutaj w c++) cout<<"Wprowadz pierwsza liczbe";
2. musisz wprowadzić do tych zmiennych dane, nie znam komend w pythonie wiec Ci dokladnie o tym nie napisze ale mysle, ze powinienes je znac
3. i tutaj w sumie najtrudniejszy punkt tego programu, chodzi o to aby porównać te liczby. Generalnie jak nie masz wiekszej wiedzy na temat programowania, to proponuje Ci zrobić to ręcznie, dodać zmienne min i max. A pózniej po prostu podstawiac je za wieksze i mniejsze liczby. Generalnie proponuje porównując liczby utworzyć takie jakby dwie ścieżki. Przy pierwszym porównaniu za min podstawiasz mniejsza liczbe, a za max wieksza. Następnie porównujesz kolejne liczby i w zalezności od tego czy ma byc to min czy max podstawiasz tą mniejsza lub większa.
4. Czwarty krok polega na wypisaniu tych liczb na "tablice", czyli generalnie podajesz jakis komunikat, "najwieksza liczba ma wartosc" tu wypisujesz wartosc max, "a najmniejsza liczba ma wartosc" tu wypisujesz wartosc min.

A drugi program polega na instrukcji switch i losowym wybieraniu liczb z danego przedzialu.
1. wprowadzasz zmienna a, i pytasz sie "w Jakie lotto chcialbys zagrac, jezeli w to wcisnij 1, jezeli drugie to 2, jezeli trzecie to 3" i generalnie zastepujesz liczbe a wlasnie ta wartoscia
2. korzystasz z instrukcji switch od tej liczby i teraz gdy a jest rowne 1, to losujesz 5 liczb od 1 do 40 i po prostu wypisujesz je na ekran, najlepiej skorzystac tutaj z tablicy 5 liczb deklarujac ja wczensiej a pozniej korzystajac z algorytmu pozwalajacego losowac liczby od 1 do 40. Analogicznie przy nastepnych mozliwosciach.
3. przez switchem musisz skorzystać z pętli do... while aby nie skończyć programu tylko dać możliwość kolejnego losowania. Wprowadzasz nową zmienną b, i pod koniec pętli wypisujesz na ekran "czy chcesz przejść do kolejnego losowania czy juz zakonczyc, jezeli tak wpisz 1, jezeli nie 2. I wprowadzasz ta liczbę do zmiennej b, której na początek przypisujesz 1. Powinienes raczej wiedzieć jak ta petla dziala Smile
01.10.2013 19:01
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post Return to top
Odpowiedz 




Użytkownicy przeglądający ten wątek: 1 gości
Wymiana
One Piece Vampirciowo Fairy Tail Valid XHTML 1.0 Transitional Poprawny CSS!

Kontakt | One Piece Nakama | Wróć do góry | Wróć do forów | Wersja Mobilna | RSS | Mapa Nakama