Python programiranje kao hobi

poruka: 170
|
čitano: 57.307
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
9 godina
protjeran
offline
Re: Python programiranje kao hobi

 

Evo ti primjer jedne funkcije, samo zamisli da si već importovao 'tweets_df' DataFrame, (inače je elegantnije i bolje kad funkcija ima return):

 

# Define count_entries()
   def count_entries(df, col_name='lang'):
   """Return a dictionary with counts of
   occurrences as value for each key."""

   # Raise a ValueError if col_name is NOT in DataFrame
   if col_name not in df.columns:
    raise ValueError ('The DataFrame does not have a ' + col_name + ' column.')

   # Initialize an empty dictionary: cols_count
   cols_count = {}

   # Extract column from DataFrame: col
   col = df[col_name]

   # Iterate over the column in DataFrame
   for entry in col:

    # If entry is in cols_count, add 1
     if entry in cols_count.keys():
      cols_count[entry] += 1
     # Else add the entry to cols_count, set the value to 1
     else:
       cols_count[entry] = 1

  # Return the cols_count dictionary
  return cols_count

# Call count_entries(): result1
result1 = count_entries(tweets_df, 'lang')

# Print result1
print(result1)

 

 

15 godina
offline
Re: Python programiranje kao hobi

def check_frame(train, col_name = 'Age'):
if col_name == float:
return col_name == int

 

Napravim:

 

train.apply(check_frame)

 

dobijem: 

 

PassengerId None

Survived None

Pclass None

Name None

Sex None

Age None

SibSp None

Parch None

Ticket None

Fare None

Cabin None

Embarked None

dtype: object

 

Samo da mi je shvatiti to i mogu hladno dalje. A stalno nalijećem na zid.

I thought that I heard you laughing I thought that I heard you sing I think I thought I saw you try But that was just a dream That was just a dream
15 godina
offline
Re: Python programiranje kao hobi
gumifufna kaže...

 

Evo ti primjer jedne funkcije, samo zamisli da si već importovao 'tweets_df' DataFrame, (inače je elegantnije i bolje kad funkcija ima return):

 

# Define count_entries()
   def count_entries(df, col_name='lang'):
   """Return a dictionary with counts of
   occurrences as value for each key."""

   # Raise a ValueError if col_name is NOT in DataFrame
   if col_name not in df.columns:
    raise ValueError ('The DataFrame does not have a ' + col_name + ' column.')

   # Initialize an empty dictionary: cols_count
   cols_count = {}

   # Extract column from DataFrame: col
   col = df[col_name]

   # Iterate over the column in DataFrame
   for entry in col:

    # If entry is in cols_count, add 1
     if entry in cols_count.keys():
      cols_count[entry] += 1
     # Else add the entry to cols_count, set the value to 1
     else:
       cols_count[entry] = 1

  # Return the cols_count dictionary
  return cols_count

# Call count_entries(): result1
result1 = count_entries(tweets_df, 'lang')

# Print result1
print(result1)

 

 

  Iskreno jako me buni ovaj tvoj primjer. 

I thought that I heard you laughing I thought that I heard you sing I think I thought I saw you try But that was just a dream That was just a dream
11 godina
neaktivan
offline
Re: Python programiranje kao hobi
fredii kaže...

Meni prave problem funckije koje korisnik sam definira. Mučim se već mjesecima i nikako da mi sjedne. Neke funkcije samo definiram, ako su jednostavne, ali čim je nešto kompleksnije, evo problema.

 

Pritom muči me pitanje, zašto negdje samo koriste print, a negdje return: 

 

def adder(x,y,z):

 

print("sum:",x+y+z)

 

adder(10,12,13)

 

zašto ovdje nema return? 

 

Molio bih neko objašnjenje funkcija na način, totalno jednostavan, a da pokrije sve vezano za njih. Naprosto sam već očajan, za popizditi.

 

Inače radim sa Pandas dominantno, pa bih htio napisati funkciju koja će provjeriti cijelu tablicu, preskočiti object, float pretvoriti u int. Šta god da probam ne ide nikako. 

 

Općenito govoreći, funkcija (u programiranju) je blok naredbi koji radi određenu zadaću i može vratiti rezultat. Stvaratelj programa odlučuje koje funkcije vraćaju rezultat.

U tvojoj funkciji nema "return" jer je program zamišljen tako da funkcija adder ispisuje zbroj tri broja.

11 godina
neaktivan
offline
Re: Python programiranje kao hobi
fredii kaže...

def check_frame(train, col_name = 'Age'):
if col_name == float:
return col_name == int

 

Napravim:

 

train.apply(check_frame)

 

dobijem: 

 

PassengerId None

Survived None

Pclass None

Name None

Sex None

Age None

SibSp None

Parch None

Ticket None

Fare None

Cabin None

Embarked None

dtype: object

 

Samo da mi je shvatiti to i mogu hladno dalje. A stalno nalijećem na zid.

Specifično za Python je da svaka funkcija uvijek vraća rezultat - ako funkcija dođe do kraja onda je rezultat None.

 

def check_frame(train, col_name = 'Age'):
    if col_name == float:
        return col_name == int

 

Tvoja funkcija uvijek vraća None jer onaj if nikad nije istinit pa se njegov return nikad neće izvršiti.

 

15 godina
offline
Re: Python programiranje kao hobi
Bobobo-bo Bo-bobo kaže...
fredii kaže...

def check_frame(train, col_name = 'Age'):
if col_name == float:
return col_name == int

 

Napravim:

 

train.apply(check_frame)

 

dobijem: 

 

PassengerId None

Survived None

Pclass None

Name None

Sex None

Age None

SibSp None

Parch None

Ticket None

Fare None

Cabin None

Embarked None

dtype: object

 

Samo da mi je shvatiti to i mogu hladno dalje. A stalno nalijećem na zid.

Specifično za Python je da svaka funkcija uvijek vraća rezultat - ako funkcija dođe do kraja onda je rezultat None.

 

def check_frame(train, col_name = 'Age'):
    if col_name == float:
        return col_name == int

 

Tvoja funkcija uvijek vraća None jer onaj if nikad nije istinit pa se njegov return nikad neće izvršiti.

 

 

Kako nije istinit, kada provjerom se utvrdi da je zapravo float npr: 38.0 i ako je float, pretvori u int i to je to.

I thought that I heard you laughing I thought that I heard you sing I think I thought I saw you try But that was just a dream That was just a dream
12 godina
offline
Python programiranje kao hobi

Ne znam je li ovo bug ili ja negdje griješim...iako sam ovo 100 puta radio i nikada ne to nije zajebavalo.

Naime, učitam datoteku brojeva te je spremim u listu. Jednostavnom naredbom pokušavam parsati u integer i javlja ovaj error, iako se uspješno izvrši i stvarno promijeni tip podatka iz str u int. U čemu je problem?

Moj PC  
1 0 hvala 0
11 godina
neaktivan
offline
Re: Python programiranje kao hobi
FileFicho kaže...

Ne znam je li ovo bug ili ja negdje griješim...iako sam ovo 100 puta radio i nikada ne to nije zajebavalo.

Naime, učitam datoteku brojeva te je spremim u listu. Jednostavnom naredbom pokušavam parsati u integer i javlja ovaj error, iako se uspješno izvrši i stvarno promijeni tip podatka iz str u int. U čemu je problem?

 

Problem je što u pozivu metode split eksplicitno zadaješ parametar sep=' '. Tada postoje dva slučaja kad lista tmp sadrži prazan string:

  • redak datoteke sadrži dva ili više razmaka u sredini
  • redak datoteke je prazan string

>>>  '1 2   3'.split(' ')
['1', '2', '', '', '3']

>>> ''.split(' ')
['']

 

Ako datoteka ima barem jedan ovakav redak tvoj program puca jer pokušavaš pretvoriti prazan string u int (invalid literal for int() with base 10: '')

 

Najjednostavnije rješenje je pozvati split bez sep parametra

>>> '1 2   3'.split()
['1', '2', '3']

>>> ''.split()
[]

Poruka je uređivana zadnji put sri 10.2.2021 0:36 (Bobobo-bo Bo-bobo).
8 godina
offline
Python programiranje kao hobi

Ako moze mala pomoc...

 

Dakle, imam

 

a=input('Unesi koliko novaca je potrosio Leo: ')
a=int(a)
b=input ('Unesi koliko novaca je potrosila Tea: ')
b=int(b)
p=a+b
print('Leo i Tea su zajedno potrosili ',p)

Kako izvesti da nakon izracuna doda jos Kn kraj broja?

 

Znaci, ovako ispadne a+b=c, a bilo bi super kad bi moglo ispasti a(kn) + b(kn) = c(kn)

 

Unaprijed hvala.

Children Shouldnt Play with Dead Things
Moj PC  
0 0 hvala 0
12 godina
offline
Re: Python programiranje kao hobi
Damir22 kaže...

Ako moze mala pomoc...

 

Dakle, imam

 

a=input('Unesi koliko novaca je potrosio Leo: ')
a=int(a)
b=input ('Unesi koliko novaca je potrosila Tea: ')
b=int(b)
p=a+b
print('Leo i Tea su zajedno potrosili ',p)

Kako izvesti da nakon izracuna doda jos Kn kraj broja?

 

Znaci, ovako ispadne a+b=c, a bilo bi super kad bi moglo ispasti a(kn) + b(kn) = c(kn)

 

Unaprijed hvala.

a = int(input('Unesi koliko novaca je potrosio Leo: '))
b = int(input('Unesi koliko novaca je potrosila Tea: '))
p = a + b
print('Leo i Tea su zajedno potrosili ' + str(p) + ' kn')

8 godina
offline
Python programiranje kao hobi

ima nekto za preporucit literaturu za pocetnike? znam da mogu na youtubu naci brdo tutoriala, al cisto pitam ako netko zna nekog kvalitetnog

 

klinac slijedece godine pocinje sa computingom u skoli, a glavni dio ce biti python pa rekoh da ja krenem ranije ucit da mogu pomoc kad zapne 

 
0 0 hvala 0
12 godina
offline
Re: Python programiranje kao hobi
duxx369 kaže...

ima nekto za preporucit literaturu za pocetnike? znam da mogu na youtubu naci brdo tutoriala, al cisto pitam ako netko zna nekog kvalitetnog

 

klinac slijedece godine pocinje sa computingom u skoli, a glavni dio ce biti python pa rekoh da ja krenem ranije ucit da mogu pomoc kad zapne 

Python je odlično zastupljen na Redditu.

 

Vidi ovo - https://www.reddit.com/r/learnpython/wiki/index

Popis knjiga poredan prema razini prethodnog znanja.

0100011001000001010100000010000000110100001000000100110001001001010001100100010100100001
14 godina
offline
Moj PC  
3 0 hvala 2
10 godina
offline
Python programiranje kao hobi

 

Da se nadovežem na kolegu forumaša FLes-a, mogu napisati da su te knjige tih autora dobro napisane i vrlo brzo te uvode u svijet programiranja.

Mislim na knjige :

- Rješavanje problema programiranjem u Pythonu
- Napredno rješavanje problema programiranjem u Pythonu
- Izrada primjenskih programa u Pythonu

 

Ako volite kodirati, topla preporuka.

Panzerkampfwagen.dzg-C++-USA. :-) CZ-75
Poruka je uređivana zadnji put čet 18.2.2021 14:40 (PzKpfw).
Moj PC  
0 0 hvala 1
12 godina
offline
Re: Python programiranje kao hobi

Da, vidiš - skroz sam zaboravio na domaće autore.

0100011001000001010100000010000000110100001000000100110001001001010001100100010100100001
3 godine
neaktivan
offline
Re: Python programiranje kao hobi
Da ne otvaram novu temu - imam par pitanja oko Pythona.

Naime, trebao bi dobar (lagan za pisati) programski jezik za programiranje mikrokontrolera - čitanje ulaza, obrada podataka te slanje na izlaz, eventualno GUI ili prikaz podataka na LCD-u.

Stvari koje sam do sada radio izvođene su na PLC-u no javila se potreba za manjim (jeftinijim) rješenjem - razvoj.

Do sada imam dosta iskustva u “grafičkim” programskim jezicima (Labview, LAD...) te nešto u C-u.

Postoji opcija Arduino + C, ali sam čitao o MicroPythonu te mi se dosta sviđa.

Ima li tko iskustva s istim? Ili nekakve dobre knjige, stranice, primjere?


 
0 0 hvala 0
9 godina
protjeran
offline
Python programiranje kao hobi

Evo jedan primjer da malo oživimo temu.

Zanimljiv zadatak može biti i bez funkcije (funkcija je samo blok koda koji možete (trebate) ponovno negdje iskoristiti):

 

#Get the name of the text file and open it

name = input ('Enter file:')

handle = open (name, 'r')

 

# Count word frequency

counts = dict()

for line in handle:

  words = line.split()

  for word in words:

    counts[word] = counts.get(word, 0) + 1

#Find the most common word

bigcount = None

bigword = None

for word, count in counts.items():

  if bigcount is None or count > bigcount:

    bigword = word

    bigcount = count

 

print(bigword, bigcount)

Moj PC  
1 0 hvala 0
15 godina
offline
Python programiranje kao hobi

Zna li netko kako obojati grafički prozor u Pythonu da nije stalno bijela boja?

Hvala!

TrustNo1
 
0 0 hvala 0
6 godina
offline
Re: Python programiranje kao hobi
A u čemu ga praviš? Tkinter? Elementi imaju "background" ili "bg" parametar s kojim možeš zadati boju pozadine.
15 godina
offline
Re: Python programiranje kao hobi
robogo kaže...
A u čemu ga praviš? Tkinter? Elementi imaju "background" ili "bg" parametar s kojim možeš zadati boju pozadine.

To razumijem i tako sam radio. No zanima me postoji li neki "jednostavniji" način?

Recimo crtam kružnicu u programskom prozoru i stavim color("red") i on crta crvenom bojom. Mogu li tako jednostavno promijeniti i pozadinu tipa bgcolor("boja") i da radi?

Znam da je u Small Basicu moglo tako nekako...

TrustNo1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice