Python (pajton) programski jezik - primena

Masquetina

Member
Joined
Apr 15, 2012
Messages
119
Reaction score
0
Obećala sam da ću postaviti rešenja zadatka, a nisam to juče uradila jer su u međuvremenu bili produžili rok za podnošenje za jedna dan:
  • Code:
    seconds_difference = time_2 - time_1
    return seconds_difference
  • Code:
    hours_difference = ( time_2 - time_1 ) / 3600
    return hours_difference
  • Code:
    to_float_hours = hours + ( minutes / 60 + seconds / 3600)
    return to_float_hours
    4. to_24_hour_clock = hours % 24 return to_24_hour_clock
  • Code:
    ### Write your get_hours function definition here:
    def get_hours(seconds):
    get_hours = seconds // 3600
    return get_hours
    
    ### Write your get_minutes function definition here:
    def get_minutes(seconds):
    get_minutes = ( seconds % 3600 ) // 60
    return get_minutes
    
    ### Write your get_seconds function definition here:
    def get_seconds(seconds):
    get_seconds = ( seconds - 3600 ) % 60
    return get_seconds
  • Code:
    time_to_utc = ( - utc_offset + time ) % 24
    return time_to_utc
  • Code:
    time_from_utc = ( utc_offset + time ) % 24
    return time_from_utc
    Još jednom ću napomenuti da se na ovom kursu radi u Python 3 i to na vrlo razložan ‘‘školski način’’. Koristimo i Visualizer da bi bolje shvatili kako funkcioniše memorija unutar Pythona… Ovo govorim zato da bih ovaj kurs uporedila sa još jednim kojeg smo ovde spominjali, a koji je potpuno drugačije koncipiran. Iako ovaj drugi zvanično startuje tek 15. oktobra, za one koji su se ranije prijavili dali su otvoren link za stranicu kursa. Pošto nam nije bilo odmah jasno kojom verzijom Pythona ćemo se baviti tu, postavili smo pitanje instruktorima i dobili odgovor:
    “We will be teaching a subset of Python 2.6 with one minor difference: the division operator / computes regular floating point division as in Python 3. To perform integer division, you will use the // operator.”
    Takođe, najavljeno je da će fokus na ovom kursu biti primena Pythona u izradi video igara. A u daljoj diskusiji na forumu iskrslo je i ovo objašnjenje od nekog ko ima malo iskustva, pa evo konačno odgovora na naslov ove teme koja bi trebala da bude i o PRIMENI Pythona:
    Ovo je Python 2.6 sto ovdje uce, razlika je u tome kako se pise print izjava, iako u njihovom CodeSkulptor radi i verzija 2.6 i 3.x., postoji jos razlika sa djeljenjem sto ste vidjeli ili ce vam pokazati, u Py 3.x se input pise samo “input” dok je Py 2 to “raw_input” Takoder, jedan Py 2 radi po defaultu u ASCII code-u dok je Py 3 po defaultu Unicode. Mislim postoji jos hrpa razlika, ali ovo ce vam prvo upadat u oko, pogotovo ako ne znate puno o programiranju u Pythonu.

    Sto se tice razvoja aplikacija, ako planirate radit Web aplikacije, onda morate znat Python 2.6 jer svi serveri koji imaju instaliran Python imaju 2.6.x, posto Python 2 i Python 3 nisu kompatibilni, pa bi ljudi trebali radit preinake svojih postojecih aplikacija.

    Za Desktop aplikacije, bolje je uciti Python 3 jer se Python 2 vise ne razvija, (mislim da je zadnja verzija 2.7.3), a tu niste ograniceni instaliranom verzijom na serveru, jer sami odabirete sa cim radite.

    Eto, pa izvol’te! Što se mene tiče pratiću oba kursa, bez obzira na razlike u pristupu i verzijama programskog jezika, neće da mi škodi! A čim ne škodi, znači da koristi. :connie_6:
 
Last edited:

ivica

New member
Joined
Sep 16, 2012
Messages
22
Reaction score
0
Evo i moja rešenja, čisto da vidimo različitost 🙂

def seconds_difference(time_1, time_2): return time_2 - time_1

def hours_difference(time_1, time_2): return (time_2 - time_1)/3600

def to_float_hours(hours, minutes, seconds): return hours + minutes/60 + seconds/3600

def to_24_hour_clock(hours): return hours % 24

Code:
[HEADING=2]Write your get_hours function definition here:[/HEADING]
def get_hours(seconds):
return seconds // 3600

Code:
[HEADING=2]Write your get_minutes function definition here:[/HEADING]
def get_minutes(seconds):
return (seconds-(get_hours(seconds)*3600)) // 60

Code:
[HEADING=2]Write your get_seconds function definition here:[/HEADING]
def get_seconds(seconds):
return (seconds-(get_hours(seconds)*3600)) - (get_minutes(seconds)*60)

def time_to_utc(utc_offset, time): return to_24_hour_clock(to_24_hour_clock(time) - utc_offset)

def time_from_utc(utc_offset, time): return to_24_hour_clock(to_24_hour_clock(time) + utc_offset)

:edit:

Ja sam malo komplikovao sa formulama, ali tako koristim druge, prethodno definisane funkcije 🙂
 
Last edited:

neupuceni

Member
Joined
Jan 30, 2012
Messages
263
Reaction score
0
A jel ima neko na interactive python kursu? 🙂
 
Last edited:

Masquetina

Member
Joined
Apr 15, 2012
Messages
119
Reaction score
0


Evo jednog matematičkog zadatka sa Coursere:
There are several ways to calculate the area of a regular polygon. Given the number of sides n, and the length of each side s, the polygon’s area is ¼ n s[sup]2[/sup] / tan(π/n).
For example, a regular polygon with 5 sides, each of length 7 inches, has area 84.30339262885938 square inches.

Write a function that calculates the area of a regular polygon, given the number of sides and length of each side. Submit the area of a regular polygon with 7 sides each of length 3 inches.

Moje rešenje:
Code:
import math

def area(n, s):
return 0.25 * n * math.pow(s, 2) / math.tan((math.pi / n))

print area(7, 3)
Nakon dve sedmice muke žive, počelo je konačno da mi bude baš udobno u Pythonu! :connie_1:​
 
Last edited:

Masquetina

Member
Joined
Apr 15, 2012
Messages
119
Reaction score
0
Za one koji prate Courseru, evo prvog Mini projekta na An Introduction to Interactive programming in Python:
In our first mini-project, we will build a Python function rpsls(guess) that takes as input the string guess, which is one of “rock”, “paper”, “scissors”, “lizard”, or “Spock”. The function then simulates playing a round of Rock-paper-scissors-lizard-Spock by generating its own random choice from these alternatives and then determining the winner using a simple rule that I will next describe.
While Rock-paper-scissor-lizard-Spock has a set of ten rules that logically determine who wins a round of RPSLS, coding up these rules would require a large number (5x5=25) of if/elif/else clauses in your mini-project code. A simpler method for determining the winner is to assign each of the five choices a number:

  • []0 - rock
    [
    ]1 - Spock
    []2 - paper
    [
    ]3 - lizard
  • 4 - scissors
In this expanded list, each choice wins agains the preceding two choices and loses against the following two choices.

Moje rešenje je na ovom linku.
 
Last edited:

Archix

New member
Joined
Oct 22, 2012
Messages
20
Reaction score
0
Neko vreme se već igram s python-om pa tako naiđoh i ovde kod vas. Interesuje me da li znate za neke firme u Srbiji koje traže python programere? Ja znam veoma mali broj, i to većinom zatvorenog tipa, tj. ne raspisuju konkurse ili pak uopšte ne traže radnike. Što se ovog poslednjeg zadatka tiče, jedan tip, umesto funkcije možeš koristiti dictionary pa bi tako imala, npr, ovako nešto… d = { 0 : 'rock'. 1 : 'Spock', 2 : 'paper', 3 : 'lizard', 4 : 'scissors' }
 
Last edited:

Masquetina

Member
Joined
Apr 15, 2012
Messages
119
Reaction score
0
alt

… umesto funkcije možeš koristiti dictionary pa bi tako imala, npr, ovako nešto… d = { 0 : 'rock'. 1 : 'Spock', 2 : 'paper', 3 : 'lizard', 4 : 'scissors' }
Hvala. Nismo do te lekcije još došli. :connie_32:
 
Last edited:

Masquetina

Member
Joined
Apr 15, 2012
Messages
119
Reaction score
0
Courserin ‘‘Learn to Program: The Fundamentals’’ je pri kraju, a ‘‘An Introduction to Interactive Programming in Python’’ je negde na polovini. Nakon svog ovog ‘‘silnog’’ iskustva na oba, mogu još jednom potvrditi da su razlike u pristupu samom programskom jeziku i načinu koncipiranja koda jako velike. Ne mogu da dam prednost ni jednom od ova dva, mogu samo da ih komentarišem i da kažem da su oba iskustva vredna, bar meni.

Dok smo na prvom učili u Python3, a na drugom 2, nije to jedina razlika. Prvi kurs je mnogo primereniji potpunom početniku, jer se radi malo sporije i sistematičnije. Od početka se forsira uredno koncipiranje koda, pomoću tzv. recepta, odnosno naučili smo sastavne delove svakog koda, od početka do kraja. Uporedila bih to sa formom pisanja literarnih sastava kako su nas učili u osnovnoj školi, (ali nemojte bukvalno da me shvatite, samo navodim kao primer), gde smo imali po pravilu, nakon samog naslova sastava, delove zvane: uvod - razrada - zaključak. Tako smo ovde naučili kako da napišemo ‘‘zaglavlje’’, opise i primere unutar komentara, a na kraju naravno, kako da pišemo čitave ‘‘rečenice’’ u programskom jeziku, a takođe i kako da koristimo IDLE i manipulišemo fajlovima.

Na drugom kursu je mnogo dinamičnije, radi se event-driven programming, u službi programiranja video igara. Moje mišljenje je da ovaj kurs nije primeren nekome ko je potpuni početnik. Dalo se primetiti po forumima samog kursa da je među studentima jako puno onih sa iskustvom u programiranju, tako da najavljena dobra volja instruktora da bi po potrebi mogli malo da ‘‘uspore’’, nije mogla biti realizovana za nas koji jesmo potpuni početnici, jer nismo bili dovoljno glasni da nas primete. Za sada se snalazim nekako, koristim dodatno vreme za podnošenje zadataka, koje su nam dali zbog onih silnih uragana u Americi…

Ostali, jeste li živi?
 
Last edited:

ivica

New member
Joined
Sep 16, 2012
Messages
22
Reaction score
0
Drago mi je da si ostala do kraja; meni je počeo semestar tako da ni’ta od sertifikata, ne stižem.
 
Last edited:

neupuceni

Member
Joined
Jan 30, 2012
Messages
263
Reaction score
0
Meni idu prebrzo. Skola dosta utice na to…
 
Last edited:

Nikola_Stojakovic

New member
Joined
Jun 19, 2013
Messages
5
Reaction score
0
Dobar interpreterski jezik, obično se koristi u aplikacijama za grafički dizajn i 3D modelovanje jer savršeno rukuje sa vektorima. Počeo sam da ga učim jedno vreme i stao, trenutno učim PHP ali bih se ponovo vratio Pajtonu jer sam dobio njegovo okruženje po default-u na Mint 13 (dok je još bio aktuelan).

Inače preporučujem ga svima koji nisu baš tako dobri logičari za rad sa jezicima poput C-a, Jave i ostalih.
 
Last edited:

klod

Member
Joined
Jul 25, 2013
Messages
359
Reaction score
0
Pa generalno ne. Sistemsko programiranje je po definiciji programiranje sistemskog softvera. Sistemski softver obuhvata operativni sistem i sve ono između što treba da radi sa hardverom, ili fajl-sistemom, ili da predstavlja neku platformu za aplikacije. Recimo, X server bi se mogao ubrojati u sistemski softver. Prilično sam siguran da niko nije pokušao da napravi operativni sistem u pythonu, i da bi to bila loša ideja. Isto važi i za programe kao što je X server.

Međutim u sistemski softver spada i ono što bi se nazvalo “system utility”, kao na primer “GNOME Disks”, ili ona “free” komandica koja ti pokazuje iskorišćenost memorije, ili nešto takvo što komunicira sa hardverom. E takve stvari je teoretski sigurno moguće praviti u Pythonu, mislim da postoje čak neke biblioteke za to, ali ni za to nisam čuo da je iko radio 🙂

Dakle, kao što rekoh, generalno ne 🙂
 
Last edited:

Tanja

Member
Joined
Mar 19, 2013
Messages
596
Reaction score
0
Tek sad vidim da ste ovde već postavljali mini projekte za coursera 🙂
 
Last edited:

Tanja

Member
Joined
Mar 19, 2013
Messages
596
Reaction score
0
Ma nije stvar u varanju već u mogućnosti da se proveri ima li pametnijeg rešenja od onog što sam ja smislila… :🙂
 
Last edited:

Tanja

Member
Joined
Mar 19, 2013
Messages
596
Reaction score
0
Izgleda da su svi odustali od pajton kursa na coursera.org… sem mene 😛

I da se pohvalim da sam zadnji projekat “Blackjack” odradila i u Tkinter-u 😃

Pošto ne znam da li je proradilo dodavanje slika direktno na forum, ja ću sličicu mog projekta da dodam “s polja”.

View attachment 1053
 
Last edited:

Knight

Member
Joined
Jun 18, 2012
Messages
181
Reaction score
0
Vilenija:
Izgleda da su svi odustali od pajton kursa na coursera.org… sem mene 😛

I da se pohvalim da sam zadnji projekat “Blackjack” odradila i u Tkinter-u 😃
VAaaaauu svaka TI ČAST! 🙂
 
Last edited:
Top