Python (programlingvo): Malsamoj inter versioj

[kontrolita revizio][nekontrolita versio]
Enhavo forigita Enhavo aldonita
Xqt (diskuto | kontribuoj)
pepify
Linio 18:
Jen simpla ekzemplo de Pitona programo:
<syntaxhighlight lang="python">
# Ekscii pri la primeco de nombro
import math
 
line = raw_input('Enmetu nombron por provi:')
 
y = int(line)
x = int(math.sqrt(y))
while x > 1:
if y % x == 0:
print '%s ne estas prima (ĝi divideblas de %s)' % (y, x)
break
x -= 1
else:
print '%s estas prima' % y
</syntaxhighlight>
 
Linio 80:
[[C (programlingvo)|C:]]
<syntaxhighlight lang="c">
int factorial(int x) {
if (x == 0) {
return(1);
} else {
return(x * factorial(x-1));
}
}
</syntaxhighlight>
 
'''Python:'''
<syntaxhighlight lang="python">
def factorial(x):
if x == 0:
return 1
else:
return x * factorial(x - 1)
</syntaxhighlight>
Iuj programistoj alkutimiĝintaj al [[Algol]]-stilaj lingvoj, en kiuj blankspaco estas semantike malplena, komence pensas, ke ĉi tio estas konfuza. Iuj jam faris nekomplimentajn komparojn al la laŭkolona stilo uzata ĉe [[truokarto|truokartaj]] [[Fortran]]-sistemoj: iam, estas grandega progreso havi "liberformajn" lingvojn, en kiu nur simboloj gravis kaj ne ties pozicio sur la linio.
Linio 112:
La ŝlosilvorto "lambda" de Pitono eble misdirektus iujn fanatikulojn de funkcia programado. Lambdo-blokoj en Pitono rajtas enhavi nur esprimojn, ne asertojn. Tial, ili ne estas la plej ĝenerala maniero, per kiu reliveri ĉe funkcio. Anstataŭe la kutima afero por fari estas simple difini kaj reliveri ĉe funkcio uzante lokregionan nomon, kiel en la jena ekzemploj de simpla sekca funkcio:
<syntaxhighlight lang="python">
def add_and_print_maker(x):
 
def temp(y):
def temp(y):
print "%d + %d = %d" % (x, y, x + y)
 
return temp
defreturn temp(y):
</syntaxhighlight>