name = raw_input('Enter file:')
handle = open(name, 'r')
text = handle.read()
words = text.split()
counts = dict()
for word in words:
counts[word] = counts.get(word,0) + 1
bigcount = None
bigword = None
for word,count in counts.items():
if bigcount is None or count > bigcount:
bigword = word
bigcount = count
print bigword, bigcount
# Get the name of the file and open it
name = raw_input('Enter file:')
handle = open(name, 'r')
text = handle.read()
words = text.split()
# Count word frequency
counts = dict()
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
# All done
print bigword, bigcount
Zarezerwowane slowa
and del for is raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print as with
= //przypisanie
== porownanie
+dodawanie
-odejmowanie
* mnozenie
/ dzielenie
** potega
% modulo
Kolejnosc obliczen
1) nawiasy
2) potega
3) mnozenie
4) dodawanie
5) od lewej do prawej
dzialania na int daje wynik int (nawet dzielenie z zokregleniem do dolu-odcinanmy to co przecinku). Jesli w dzialaniu znajduje się min jenda liczba zmiennoprzecinkowa wynik jest zmiennoprzecinkowy.
Konkatenacja – put together dla stringow
a = 'hello' + 'there'
print a
→ hello there
y = type(x) //przypisanie y typu zmiennej x np. int
y=float(x) //rzutowanie zmiennej x na typ floa i przypisanie jej wartosci do zmiennej y4
raw_input('Komunikat')-pobieranie danych od uzytkownika, pobiera zmienne jako string
# komentarze
operacje stringow
+
*
bloki w kodzie oddzielamy tabami (indent)– brak {}
puste linie w kodzie są ignorowane
operacje logiczne
<
<=
==
>=
>
!=
Niektore edytory tekstu zamieniaja tab na spacje
NotePad++: Settings→ Preferences→ Languge Manu/Tab Settings
TextWrangler: TextWrangler → Preferences→ Editor Defaults
Konstrukcja warunku
if x>2:
….
elif x>10:
….
else:
…
try/except struktura
-dla fragmentow kodu których nie jestesmy pewni czy zadzialaja
-jesli fragment z try zostanie wykonany bezs przeszkod except będzie zignorowane
-jesli nie uda się wykonac fragment z try zostaje wykonane except
try:
…
except:
…
rawstr = raw_input('Enter a number:')
try:
ival = int(rawstr)
except:
ival = -1
if ival > 0 :
print 'Nice work'
else:
print 'Not a number'
$ python trynum.py
Enter a number:42
Nice work
$ python trynum.py
Enter a number:forty-two
Not a number
$
Funkcje
def thing(): #definicja funkcji
print 'Hello'
print 'Fun'
return 4;
thing() #wywolanie funkcji
print 'Zip'
thing()
Funkcje dzielimy na :
-wbudowane
-definiowane
max() #funkcja po wlozeniu stringa wypluwa najdalzsza w alfabecie litere
>>> def greet(lang):
... if lang == 'es':
... return 'Hola'
... elif lang == 'fr':
... return 'Bonjour'
... else:
... return 'Hello'
...
>>> print greet('en'),'Glenn'
Hello Glenn
>>> print greet('es'),'Sally'
Hola Sally
>>> print greet('fr'),'Michael'
Bonjour Michael
>>>
void – funkcja nic nie zwracajaca
petla while
while True:
line = raw_input('> ')
if line == 'done' :
break
print line
print 'Done!'
break – przerywa petle
while True:
line = raw_input('> ')
if line[0] == '#' :
continue
if line == 'done' :
break
print line
print 'Done!'
continue – opuszcza obecna iteracje i przecodzi do nastepnej
petla for
for i in [5, 4, 3, 2, 1] :
print i
print 'Blastoff!'