Pomozte začátečníkovi – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pomozte začátečníkovi – Python – Fórum – Programujte.comPomozte začátečníkovi – Python – Fórum – Programujte.com

 

Eva
~ Anonymní uživatel
18 příspěvků
15. 2. 2016   #1
-
0
-

Ahoj,

můžete mi prosím někdo poradit? Dostali jsme ve škole zadání:

pole=[15,6,7,1,16,19,28,8,10,24,11,17,21,3,22,13,18,23,5,2]
1. Najděte největší a nejmenší prvek z posloupnosti čísel uložených v proměnné pole. Nepoužívejte funkci min() a max().
2.Setřiďte posloupnost čísel v proměnné list pole vzestupně a sestupně. Nepoužívejte funkce sort() a revers()
3.Napište algoritmus, který v nesetříděné posloupnosti pole najde poslední sudé číslo.
Vše v jednom programu.

Moc díky  

Nahlásit jako SPAM
IP: 176.12.115.–
peter
~ Anonymní uživatel
4016 příspěvků
16. 2. 2016   #2
-
0
-

A? V cem je problem?
Potrebujes cyklus: google = Python for Loop 

fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # Second Example
   print 'Current fruit :', fruit

Potrebujes porovnani dvou cisel: google = Python condition 

x = 2
if x == 2:
    print "x equals two!"
else:
    print "x does not equal to two."

Potrebujes praci s pole: google = Python array set
(pripadne jsem teda nasel prvne definovani vlastni funkce) 

 def f(x): return x % 3 == 0 or x % 5 == 0
>>> a = [-1, 1, 66.25, 333, 333, 1234.5]
>>> del a[0]
>>> a
[1, 66.25, 333, 333, 1234.5]
>>> del a[2:4]
>>> a
[1, 66.25, 1234.5]
>>> del a[:]
>>> a
[]
Nahlásit jako SPAM
IP: 2001:718:2601:26c:f868:5a...–
peter
~ Anonymní uživatel
4016 příspěvků
16. 2. 2016   #3
-
0
-

 Pokud nejsou dalsi podminky, tak si je muzes zvolit tak, jak ti vyhovuji.

def mymin(a,b): return a<b ? a : b
def mymax(a,b): return a>b ? a : b

a = 999;
b = -999;
fruits = [7,9,3,12,4]
for fruit in fruits: 
  a = mymin(a,fruit)
  b = mymax(b,fruit)
print 'Min = ', a;
print 'Max = ', b;

Jednicka splnena. Aspon doufam, ze to bude fungovat, nema tu nic na testovani :)

Nahlásit jako SPAM
IP: 2001:718:2601:26c:f868:5a...–
Eva
~ Anonymní uživatel
18 příspěvků
16. 2. 2016   #4
-
0
-

#1 Eva

Zkouším to porovnání dvou čísel a pořád mi to hlásí, že syntaxe je neplatná.

x = 2
if x == 2:
    print "x equals two!"
else:
    print "x does not equal to two."


Nahlásit jako SPAM
IP: 176.12.115.–
peter
~ Anonymní uživatel
4016 příspěvků
16. 2. 2016   #5
-
0
-

Python je desne narocny na presny zapis. Neumi hlasit spravne chyby, jako treba php.

Hlasi to cislo radku?
Mas spravne odsazeni bloku zleva? (tusim minimum je 1 nbo 2 mezery)

x = 2
if x == 2:
    print "x equals two!"
else:
    print "x does not equal to two."

x = 2
if x == 2:
print "x equals two!"
else:
print "x does not equal to two."
Nahlásit jako SPAM
IP: 2001:718:2601:26c:f868:5a...–
peter
~ Anonymní uživatel
4016 příspěvků
16. 2. 2016   #6
-
0
-

https://ideone.com/0aQZO5

stdin
  Standard input is empty
stdout
  x equals two!
Nahlásit jako SPAM
IP: 2001:718:2601:26c:f868:5a...–
Kit+15
Guru
16. 2. 2016   #7
-
0
-

#4 Eva
Pokud máš Python3, tak jeho syntaxe je trochu odlišná: 

x = 2
if x == 2:
    print("x equals two!")
else:
    print("x does not equal to two.")

V Pythonu3 už print už není příkazem, ale funkcí.

BTW: Tak nerad vidím používání else...

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
4016 příspěvků
16. 2. 2016   #8
-
0
-

V te online verzi jsem objevil par chyb v mem kodu
- stredniky
- nezna to otaznikove podminky, ale python obecne je umi

def mymin(a,b):
  if (a < b):
  	return a
  return b
def mymax(a,b):
  if (a > b):
  	return a
  return b

a = 999
b = -999
fruits = [7,9,3,12,4]
for fruit in fruits: 
  a = mymin(a,fruit)
  b = mymax(b,fruit)
print ('Min = '+ str(a))
print ('Max = '+ str(b))

https://ideone.com/qpGu1C
Success time: 0.03 memory: 9984 signal:0
Min = 3 Max = 12

Nahlásit jako SPAM
IP: 2001:718:2601:26c:f868:5a...–
Eva
~ Anonymní uživatel
18 příspěvků
16. 2. 2016   #9
-
0
-

#1 Eva

Používám verzi 3. Ale pořád nevím jak to napasovat na to moje zadání úkolu.

Nahlásit jako SPAM
IP: 176.12.115.–
peter
~ Anonymní uživatel
4016 příspěvků
16. 2. 2016   #10
-
0
-

Jak to? Prvni ukol jsem ti vyresil, ne? Na ty dalsi budes potrebovat cykly s poctem prvku, protoze potrebujes porovnavat 2 sousedni prvky a pripadne zamenit jejich poradi.
http://jaksenaucitprogramovat.py.cz/cztutloops.html

mujSeznam = [1, 2, 3, 4]
for index in range(len(mujSeznam)):
    mujSeznam[index] += 1
print mujSeznam
j = 1
while j <= 12:
   print "%d x 12 = %d" % (j, j*12)
   j = j + 1
if pole[i] > pole[i+1]:
  x = pole[i]
  pole[i] = pole[i+1]
  pole[i+1] = x
Nahlásit jako SPAM
IP: 2001:718:2601:26c:f868:5a...–
Eva
~ Anonymní uživatel
18 příspěvků
16. 2. 2016   #11
-
0
-

#1 Eva
Pořád mi to hlásí chybu. Zadala jsem to přesně podle tebe "%d x 12 = %d" % (j, j*12),  zkusila jsem místo uvozovek dát závorky a taky to nefunguje. Odsazení je v pohodě, to si 3.0 hlídá sama. Tak nevím, co tam dělám špatně

Sedím nad tím od rána a nic z toho jsem nedala. S funkcemi vím, jak na to, ale když je nesmíme použít, tak jsem úplně mimo. 

Ale zarazilo mě to dělení se zbytkem.

Díky za trpělivost.

Nahlásit jako SPAM
IP: 176.12.115.–
hanpari0
Stálý člen
16. 2. 2016   #12
-
0
-

#1 Eva


Pokud si jakoukoliv posloupnost setřídíš podle velikosti, pak takové setříděné pole má na svých koncích největší a nejmenší číslo. Tím pádem máš tři úkoly vyřízené. Můžeš použít nějaký jednoduchý algoritmus, jako když si doma skládáš karty, například pomocí list a jeho metody insert.

Anebo si můžeš najít nějaký  třídící algoritmus na internetu :)

Nahlásit jako SPAM
IP: 178.72.234.–
peter
~ Anonymní uživatel
4016 příspěvků
17. 2. 2016   #13
-
0
-

http://jaksenaucitprogramovat.py.cz/cztutloops.html
"%d x 12 = %d" % (j, j*12)
To jsem vykopiroval z te stranky, jenom. Nevim, jestli to bude fungovat. ale muzu to testnout pres
https://ideone.com/
No, ale mi slo spis o to while.

http://ideone.com/PU2zJk
Kdyz jsem na https://ideone.com/ dole zvolil Python, tak to vypise  

1 x 12 = 12
2 x 12 = 24
3 x 12 = 36
4 x 12 = 48
5 x 12 = 60
6 x 12 = 72
7 x 12 = 84
8 x 12 = 96
9 x 12 = 108
10 x 12 = 120
11 x 12 = 132
12 x 12 = 144

Kdyz se zvolil Python3, tak to vypise furu erroru, ze se mu prave ten zapis nelibi :)
"%d x 12 = %d" % (j, j*12)
str(j) + " x 12 = " + str(j*12)

Lepsi?
 

Nahlásit jako SPAM
IP: 2001:718:2601:26c:c8a8:28...–
peter
~ Anonymní uživatel
4016 příspěvků
17. 2. 2016   #14
-
0
-

   

j = 1
while j <= 12:
   print (str(j) + " x 12 = " + str(j*12))
   j = j + 1
Nahlásit jako SPAM
IP: 2001:718:2601:26c:c8a8:28...–
Eva
~ Anonymní uživatel
18 příspěvků
17. 2. 2016   #15
-
0
-

#1 Eva
Tak tu jedničku mám a konečně jsem to snad i pochopila. Zkouším to další, ale zase tam je nějaká chyba. Ještě se s tím trochu poperu.

Moc děkuju za pomoc a vysvětlení

Nahlásit jako SPAM
IP: 176.12.115.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 20 hostů

Podobná vlákna

Pomožte začátečníkovi :D — založil brunoczech

Pomozte začátečníkovi — založil Mirka

Pomoc začátečníkovi — založil doonio

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý