E ovako, imam zadatak koji kaze da napisem program koji unosi 2 broja i ispisuje veci pa manji, ali bez ikakvih grananja i petlji. Sad, ja dobijem veći od njih, ali kako mogu dobiti manji?
Python - pomoć oko zadatka
- poruka: 131
- |
- čitano: 81.845
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
Stavi u listu, sortiraj pa ispiši prvi pa drugi:
l = [a,b]
l.sort()
print "manji:", list[0]
print "veći:", list[1]
Ne smijemo koristiti liste, tek smo počeli s pythonom...
Veći dobijem ovako:
veci = round(((a + b) + abs(a - b)) / 2)
Ali ne znam kako manji
EDIT:
Riješio, samo je trebalo oduzeti ovu apsolutnu vrijednost...
Što će ti round?
a manji možeš i nadovezujući se na formulu za veći.
manji = (a + b) - veći
1. Korisnik upisuje broj. Program ispisuje koliko se puta pojedina znamenka pojavila u broju. Znamenke koje se ne pojavljuju, ne ispisuje.
Primjer: 12312312312
1->4
2->4
3->3
2. Korisnik upisuje niz brojeva sve dok želi. Program razdvaja učitanu listu u dvije tako da svi brojevi na neparnim mjestima u početnoj listi ulaze u listu neparni, a svi brojevi koji se nalaze na parnim mjestima ulaze u listu parni.
Uputa: koristi metode append() i pop()
Hvala
To pod 1. ja mislim da je histogram , samo sa znamenkama . Treba prvo da dobijes taj broj u posebnim znamenkama.
znamenka = broj % 10; - dobijes krajnje desnu cifru
broj = broj / 10 ; - "otkidas" drajnje desnu znamenku koja je vac spremljena
i to vrtis u petlji da bi dobio niz znamenki
Pa onda za taj niz znamenki uradis nesto ovako:
tmp = znamenka[i];
histog[tmp]++; // i ovo vrtis u petlji
I posle jos jedna petlja za ispis u kojoj ces da proveravas da li je histog[i] = 0 , ako jeste onda ga ne ispisujes.
// Ovo je neka "ceolika" sintaksa nadam se da ti ne smeta :/
Prvi zadak je najlakše odraditi klasom Counter modula collections
from collections import Counter
broj = int(input('Unesi broj:'))
print(Counter(str(broj))
Drugi zadatak
lista = []
while True:
unos = input('Unesi broj (prazno za kraj):')
if not unos:
break
lista.append(int(unos))
parni = lista[1::2]
neparni = lista[::2]
Drugi zadatak, ako baš mora list.pop()
lista = []
while True:
unos = input('Unesi broj (prazno za kraj):')
if not unos:
break
lista.append(int(unos))
parni = []
neparni = []
while len(lista) > 1:
neparni.append(lista.pop(0))
parni.append(lista.pop(0))
if lista:
neparni.append(lista.pop(0))
Može pomoć oko zadatka?
Napiši program koji će unositi vrijeme početka i kraja nekog filma (h i min). Program treba ispisati trajanje filma u minutama.
Ekran treba izgledati ovako:
Početak sati: 13
Početak minuta: 30
Kraj sati: 14
Kraj minuta: 50
Film je trajao 80 min.
Evo:
pocetak_sati = int(input('Početak sati: '))
pocetak_minuta = int(input('Početak minuta: '))
kraj_sati = int(input('Kraj sati: '))
kraj_minuta = int(input('Kraj minuta: '))
pocetak = pocetak_sati * 60 + pocetak_minuta
kraj = kraj_sati * 60 + kraj_minuta
if kraj < pocetak:
kraj += 24 * 60
print('Film je trajao {} min.'.format(kraj - pocetak))
Evo:
pocetak_sati = int(input('Početak sati: '))
pocetak_minuta = int(input('Početak minuta: '))
kraj_sati = int(input('Kraj sati: '))
kraj_minuta = int(input('Kraj minuta: '))
pocetak = pocetak_sati * 60 + pocetak_minuta
kraj = kraj_sati * 60 + kraj_minuta
if kraj < pocetak:
kraj += 24 * 60
print('Film je trajao {} min.'.format(kraj - pocetak))
E puno ti hvala! Jedino je problem što još ne raspolažemo s ovim funkcijama "if" i ovo format, jel znaš možda na jednostavniji način kako riješiti taj dio? Ili da mi kažeš što znači to if, format i taj dio dolje. To mi je zadatak za test, a ne znam baš što će mi reći ako mu napišem na način na koji još niti ne znam, ali opet moram znat zašto i kako to ide. Ak me shvaćaš. :D
Edit: Mislim da mi neki djelovi nisu potrebni, gle sliku:
Pozdrav
potrebna mi je pomoć oko jednog zadataka nikad nisam radio u pythonu pa mi je ovo izuzetno teško da napravim pa ako ima netko volje i vremena da mi pomogne bio bih mu zahvalan
Zadatak ide ovako :
Ispiše se poruka da će rezultat zadanog slijeda matematičkih operacija
uvijek rezultirati broj 1089. Od korisnika se traži unos troznamenkastog broja kojem
se prva i zadnja znamenka moraju razlikovati barem za 2 (Npr. 123).
Unesenom broju se zamijeni poredak znamenaka (Npr. 123 321). Ispisati dobiveni
broj.
Oduzeti manji broj od većeg nakon zamijene. (Npr. 321-123=198). Ispisati dobiveni
rezultat.
Dobivenom broju zamijeniti poredak znamenaka (Npr. 198 891). Ispisati dobiveni
broj.
Zbrojiti prethodna dva broja i ispisati rezultat koji bi trebao biti 1089.
print('Rezultat zadanog slijeda matematičkih operacija će uvijek rezultirati brojem 1089')
unos = int(input('Unesi troznamenkasti broj kojem se prva i zadnja znamenka razlikuju barem za 2:'))
obrnut_unos = int(str(unos)[::-1])
print(obrnut_unos)
međurezultat = abs(unos - obrnut_unos)
print(međurezultat)
obrnut_međurezultat = int(str(međurezultat)[::-1])
print(obrnut_međurezultat)
print(međurezultat + obrnut_međurezultat)
U CSV datoteci imam preko 10 redaka... Trebam ih pročitati iz te datoteke i zapisati u listu..
To funkcionira ovako:
datoteka=open("dat.csv","r")
lista=[]
brojac=0
for red in datoteka:
brojac=brojac+1
red=red.rstrip()
red1=red.split("#")
lista.append(red1)
if brojac>7:
break
E sad, kako da recimo prepišem samo prvih 7 redaka iz datoteke u listu?
Proradilo s break koji sam slučajno vidio u temi..
Ovo ti ispisuje prvih 8 redova, predzadnji red treba biti if brojac == 7:
Ako datoteka "dat.csv" nema previše redaka može ih se sve učitati u listu i koristiti slicing:
datoteka=open("dat.csv","r")
lista=[]
for red in datoteka.readlines()[:7]:
red=red.rstrip()
red1=red.split("#")
lista.append(red1)
Ovo se može napisati kao opskurni one-liner:
lista=[red.rstrip().split("#") for red in open("dat.csv").readlines()[:7]]
Pozdrav svima, jel ima jos tko da je aktivan na ovu temu ?
Pozdrav svima, jel ima jos tko da je aktivan na ovu temu ?
da
Kakve savjete imate s obzirom da sam totalni početnik što se tiče programiranja,,čitao sam puno komentara koji program i kako itd i odlučio sam s pythonom,,pa jesam li pogriješio ako jesam s kojim krenuti, ako ne kako krenuti, šta prvo naučiti, koja metoda je najbolja i sl. Nisam od onih što bi htjeli naučili programirati preko noći tako da sam svjestan da je to dugotrajan proces i rad. Btw invalid sam i nemam puno opcija što se tiče izbora za radno mjesto ako me razumijete a komp me zanima pa nezz na koji posao da se fokusiram i mislim da mi je ovo najbolja opcija , pa želim ispitati sebe jesam li uopće za ovu granu informatike razumijete...ako mi ne bude išlo budem se bazirao na dizajn ;)
Unaprijed hvala
Python je dobar izbor - dovoljno je jednostavan za početnika i dovoljno upotrebljiv da ti bude koristan u budućnosti.
Preporučam ti Python 3 (zadnja verzija 3.4.2 je izašla jučer) jer je dosta bolji od verzije 2 (zadnja verzija 2.7.8).
Nešto od ovoga sigurno znaš riješiti.
Nema tu ništa posebno, samo je potrebno osnovno poznavanje nekoliko tipova podataka i nekih library-ja.
Ja ću rado pomoći ako s nečime baš zapneš, ali pokaži bar neki trud.
slažem se, evo radim baš na tome i uspijevam većinu ipak riješiti sam, javit ću se ak budem baš konkretno pitanje imao. Hvala na ponuđenoj pomoći :)
moze mi netko objasniti zasto stavljamo X.T kod
X = odeint(dX_dt,X0,t) x1,x2,x3 = X.T
transposed al zasto tocno tak ide?
Ljudi imam zadatak koji glasi ovako : Estragon seta svaki dan da vidi da li je Godo dosao, u nasem slucaju mogucnost da je stigao je 5 %. Potrebno je pomocu while petlje da se dodje do tih 5% i da se izracuna koliko je dana trajalo to. Da li neko ima ideju kako se ovo radi ?
da li neko zna zasto mi ovdje javlja error : sum([8, -8, 19, -9], 17) ? Hvala puno.
Ljudi imam zadatak koji glasi ovako : Estragon seta svaki dan da vidi da li je Godo dosao, u nasem slucaju mogucnost da je stigao je 5 %. Potrebno je pomocu while petlje da se dodje do tih 5% i da se izracuna koliko je dana trajalo to. Da li neko ima ideju kako se ovo radi ?
import random
dan = 1
n = random.randint(1,100)
while n>=5:
dan+=1
n = random.randint(1,100)
print("Proslo je {} dana".format(dan))
Generiramo random od [1,100], znamo da je 5% od tog niza interval [1,5], sve dok generirani broj ne pripada tom nizu ponovno generira te dodaje +1 za broj dana.
da li neko zna zasto mi ovdje javlja error : sum([8, -8, 19, -9], 17) ? Hvala puno.
Radi
Hvala puno. Meni javlja error u ovom drugom :/
Koju verziju pythona koristiš?
2.
Sta treba da mi izbaci kad pokrenem to ?
Trebam pomoć za tri zadatka koja nemogu riješiti, po mogućnosti riješiti što prije (do 12 h 17.5.2016.), unaprijed hvala:
1. Stoljeće (latinski centum-"sto") vremesnski je period od 100 godina.
Prvo stoljeće trajalo je od 1. siječnja 1. godine do 31. prosinca 100. godine.
Drugo stoljeće trajalo je od 1. siječnja 101. godine do 31. prosinca 200. godine.
Trenutno smo u 21. stoljeću koje je počelo 1. siječnja 2001. godine.
Napiši program koji će za zadanu godinu G ispisati kojem stoljeću pripada ta godina.
2.Deveta utrka zagrebačkog Medicinskog fakulteta "162 stube" s ciljem promocije zdravog života bila je održana u subotu i okupila je dvjestotinjak sudionika.
Dio dionice bile su poznate, visoke Schlosserove stube.
Jedan natjecatelj odlučio je stubama trčati na zanimljiv način.
Prvim korakom natjecatelj se popne za jednu stubu.
Sljedećim korakom popne se za dvije stube.
Sljedećim korakom popne se za tri stube.
Dalje ponavlja postupak, dakle penje se za jednu, pa za dvije, pa za tri, pa za jednu, pa za dvije, pa za tri...
Tvoj je zadatak izbrojiti za koliko se ukupno stuba natjecatelj popeo nakon N gore opisanih koraka.
3.Napišite program koji za unijetu vrijednost polumjera r računa opseg trokuta