# coding=utf-8 import server mod = server.problems.load_language('python', 'sl') name = 'Največji absolutist' slug = 'Največji absolutist' description = '''\
Napiši funkcijo max_abs(xs)
, ki vrne največje število po
absolutni vrednosti v seznamu xs
.
>>> max_abs([5, 1, -6, -7, 2]) -7''' function = ['''\
Napiši definicijo funkcije max_abs(xs)
.
Definicijo funkcije začnemo z def
, temu sledi ime, potem oklepaji,
v katerih naštejemo argumente funkcije, nato zaklepaj in na koncu dvopičje
def max_abs(xs): # poišči največje absolutno število v xs s = [5, 1, -6, -7, 2] print (max_abs(s))'''] main_plan = ['''\
Plan: po vrsti pogledamo vse elemente in sproti hranimo največjega (glede na absolutno vrednost).
''', '''\najvecji = prvi element od xs for x in xs: če je x večji od najvecji po absolutni vrednosti: najvecji postane x vrni najvecji'''] return_clause = ['''\
Namesto, da izpišemo rezultat, ga vračamo s stavkom return
.
Preglej elemente z zanko
. ''', '''\for x in xs:'''] if_clause = ['''\
Preveri, če je trenutni element večji od največjega (po absolutni vrednosti)
''', '''\if abs(x) > abs(najvecji): najvecji = x'''] hint = { 'no_def': function, 'no_return': return_clause, 'for_loop': for_loop, 'if_clause': if_clause, 'not_int': '''\
Funkcija ne vrača števila
''', 'return_first': '''\Funkcija vrača prvi element v seznamu''', 'return_last': '''\
Funkcija vrača zadnji element v seznamu.''', 'return_greatest': '''\
Funkcija vrača največji pozitivni element v seznamu (ne pa največji po absolutni vrednosti).''', 'return_positive': '''\
Funkcija napačno vrača absolutno vrednost največjega števila.''', 'return_indent': '''\
Ali imate stavek return
znotraj zanke?
V tem primeru se lahko zgodi, da se zanka ne izteče do konca.
Odlično, naloga rešena! Še zanimivost:
Tudi to nalogo lahko rešimo s funkcijo max
:
def max_abs(xs): return max(xs, key = abs(x))''', }