Forum » Programiranje » Python Algoritem
Python Algoritem
Sukaaloo ::
Zdravo mene pa zanima, če mi lahko mogoče kdo pomaga pri neki nalogi? Nalogo razumem in vse ampak ne znam narediti tabele v principu algoritma jo mogoče kdo zna? Poskušal sem že s vsemi zankami FOR, IF,.. ampak mi nekako ne gre. Sem začetnik v programiranju zato bi vas res prosil, če pomagate..:/
Navodila:
Program, ki ga uporabljam za nalogo(RAPTOR): http://raptor.martincarlisle.com/
Do tukaj mi je šlo lahko, dalje sem izgubljen (zaradi tabele) :
Hvala, že vnaprej! :)
Navodila:
Program, ki ga uporabljam za nalogo(RAPTOR): http://raptor.martincarlisle.com/
Do tukaj mi je šlo lahko, dalje sem izgubljen (zaradi tabele) :
Hvala, že vnaprej! :)
- zavaroval slike: Mavrik ()
lebdim ::
@Sukaaloo, kakšno pa je navodilo naloge, ki jo moraš rešiti? iz tvojega diagrama poteka se nič ne znajdem ...
Rider G-3X ::
Za hec sem potegnil Raptor in rešil, tako da če ti ne uspe samostojno rešit lahko dam rešitev.
Edino kar mi ni uspelo ugotovit je kako ustavit program če število ni liho, ampak dela ok tudi na sodih - v srednjih dveh vrsticah naredi 2x2 kvadrat O-jev.
Namigi:
Potrebuješ dve zanki, druga V prvi, prva skrbi za število vrstic ter izpis, druga za znake v vrstici.Dodati moraš števec znakov ki se postavi na 0 za vsako novo vrstico. Prva ima pogoj stevecVrstic>=n - YES-konec programa,No-Druga zanka , druga stevecZnakov >=n, Yes-povečaj stevecVrstic in izpiši vrstico-ne pozabi sprazniti spremenljivke , NO-Dodaj znak X/O spremenljivki vrstice(besedica).
Kater znak izpišeš odločiš z dvema "Selection"-ma (IF) - prvo preveriš če je mesto trenutnega znaka enako številki trenutne vrstice (stevecZnakov = stevecVrstic), če je izpišeš O (Yes). Če ni enako (NO) preveriš če velja pogoj (stevecZnakov = steviloVsehVrstic(n)-stevecVrstic-1)- Yes izpises O, NO izpises X.
Edino kar mi ni uspelo ugotovit je kako ustavit program če število ni liho, ampak dela ok tudi na sodih - v srednjih dveh vrsticah naredi 2x2 kvadrat O-jev.
Namigi:
Potrebuješ dve zanki, druga V prvi, prva skrbi za število vrstic ter izpis, druga za znake v vrstici.Dodati moraš števec znakov ki se postavi na 0 za vsako novo vrstico. Prva ima pogoj stevecVrstic>=n - YES-konec programa,No-Druga zanka , druga stevecZnakov >=n, Yes-povečaj stevecVrstic in izpiši vrstico-ne pozabi sprazniti spremenljivke , NO-Dodaj znak X/O spremenljivki vrstice(besedica).
Kater znak izpišeš odločiš z dvema "Selection"-ma (IF) - prvo preveriš če je mesto trenutnega znaka enako številki trenutne vrstice (stevecZnakov = stevecVrstic), če je izpišeš O (Yes). Če ni enako (NO) preveriš če velja pogoj (stevecZnakov = steviloVsehVrstic(n)-stevecVrstic-1)- Yes izpises O, NO izpises X.
mgermo ::
Java
import java.util.Scanner; public class krizci { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Prosim vnesi liho število: "); int stevilo = input.nextInt(); input.close(); int stevec; int vrstica; for(vrstica=1; vrstica<=stevilo;vrstica++){ for(stevec=1;stevec<=stevilo;stevec++){ if(stevec==vrstica||stevec==stevilo-vrstica+1) System.out.print("O"); else System.out.print("X"); } System.out.println(); } } }
Spura ::
Vsaka diagonala navzdol imajo cleni konstantno razliko x in y. Vsaka diagonala navzgor imajo celni konstantni sestevek x in y.
hixxy ::
Torej, da ne bom odpiral nove teme bom obudil tole.
Zanima me, kako bi napisal program, ki praša za ime spremenljivke in potem še za enote, ki ji pripadajo.
Primer:
Vnesi novo spremenljivko: starost
Vnesi enote za to spremenljivko: 8,3,5,6,2,1...
Starost - 8,3,5,6,2,1...
Vnesi novo spremenljivko: cena
Vnesi enote za to spremenljivko: 7,5,3,2,1...
starost - 8,3,5,6,2,1...
cena - 7,5,3,2,1...
Upam, da sem bil dovolj jasen :)
Zanima me, kako bi napisal program, ki praša za ime spremenljivke in potem še za enote, ki ji pripadajo.
Primer:
Vnesi novo spremenljivko: starost
Vnesi enote za to spremenljivko: 8,3,5,6,2,1...
Starost - 8,3,5,6,2,1...
Vnesi novo spremenljivko: cena
Vnesi enote za to spremenljivko: 7,5,3,2,1...
starost - 8,3,5,6,2,1...
cena - 7,5,3,2,1...
Upam, da sem bil dovolj jasen :)
ragezor ::
import sys while True: spremenljivka = input("Vnesi novo spremenljivko: ") enote = input("Vnesi enote za to spremenljivko: ") # prvi nacin # globals()[spremenljivka] = enote # drugi nacin moj_modul = sys.modules[__name__] setattr(moj_modul, spremenljivka, enote)
ce uporabljas python 2.7 uporabi raw_input
pa nekak se mi zdi, da nisi imel tega v mislih kar si napisal?
Zgodovina sprememb…
- spremenil: ragezor ()
hixxy ::
Hvala za pomoč.
Oh kako bi razložil, ko še sam ne prav štekam :)
Torej gre se za program, ki naj shranuje spremenljivke in pripadajoče enote.
Evo kako bi se izvajal:
Vnesite ime spremenljivke: plača
vnesite enoto za to spremenljivko: 2
vnesite enoto za to spremenljivko: 7
vnesite enoto za to spremenljivko: 6
vnesite enoto za to spremenljivko: 3
vnesite enoto za to spremenljivko:
Ali želite vnesti še kakšno spremenljivko (d/n) : d če je n -> konec oz. vrže nazaj na main :)
in jovo na novo,
Vnesite ime spremenljivke: starost
vnesite enoto za to spremenljivko: 5
vnesite enoto za to spremenljivko: 6
vnesite enoto za to spremenljivko: 7
vnesite enoto za to spremenljivko: 8
vnesite enoto za to spremenljivko:
plača = [2,7,6,3]
starost = [5,6,7,8]
Upam, da sem dovolj natančno napisal :)
Oh kako bi razložil, ko še sam ne prav štekam :)
Torej gre se za program, ki naj shranuje spremenljivke in pripadajoče enote.
Evo kako bi se izvajal:
Vnesite ime spremenljivke: plača
vnesite enoto za to spremenljivko: 2
vnesite enoto za to spremenljivko: 7
vnesite enoto za to spremenljivko: 6
vnesite enoto za to spremenljivko: 3
vnesite enoto za to spremenljivko:
Ali želite vnesti še kakšno spremenljivko (d/n) : d če je n -> konec oz. vrže nazaj na main :)
in jovo na novo,
Vnesite ime spremenljivke: starost
vnesite enoto za to spremenljivko: 5
vnesite enoto za to spremenljivko: 6
vnesite enoto za to spremenljivko: 7
vnesite enoto za to spremenljivko: 8
vnesite enoto za to spremenljivko:
plača = [2,7,6,3]
starost = [5,6,7,8]
Upam, da sem dovolj natančno napisal :)
Randomness ::
def vnesi(): slovar = {} while True: key = input("Vnesi ime: ") if key == "": break vals = [] while True: val = input("Vnesi vrednost: ") if val == "": slovar[key] = vals break vals.append(val) return slovar def izpisi(slovar): for key in slovar.keys(): print("{}:".format(key), end="") for val in slovar[key]: print(' {}'.format(val), end="") print() if __name__ == "__main__": s = vnesi() izpisi(s)
hixxy ::
Hvala za odgovore :)
Zdaj pa imam še eno težavico :)
Torej imam slovar in v njem več seznamov. Kako bi zračunal za vsak seznam posebi?
Do sedaj mi je uspelo izračun za prvi seznam, kako bi za vse?
podatki = {"starost": [1, 2, 3, 4, 5, 6], "placa": [2, 5, 6, 7, 8, 10],"kile"[44,25,12,2,78,84]}
Zdaj pa imam še eno težavico :)
Torej imam slovar in v njem več seznamov. Kako bi zračunal za vsak seznam posebi?
Do sedaj mi je uspelo izračun za prvi seznam, kako bi za vse?
podatki = {"starost": [1, 2, 3, 4, 5, 6], "placa": [2, 5, 6, 7, 8, 10],"kile"[44,25,12,2,78,84]}
def mediana(): import copy a = copy.deepcopy(podatki) b = list(a.values()) print(b) n = 0 b = b[n] print(b) b.sort() dolzina = len(b) x = dolzina % 2 pol = dolzina // 2 if x == 1: print("Mediana za spremenljivko je: ", b[pol]) #return b[pol] else: l = float(b[pol - 1]) h = float(b[pol]) print("Mediana za spremenljivko ima vrednost: ", l + (h - l) / 2)
celada ::
pomagaj si z iteritems()
aDict = {'one': [1], 'two': [1, 2], 'three': [1, 2, 3]} for aKey, aList in aDict.iteritems(): print aKey, sum(aList) three 6 two 3 one 1
Randomness ::
Tvojo funkcijo mediana spremeni tako, da bo kot argument sprejela seznam števil in kot rezultat vrnila mediano teh števil. Nato to funkcijo pokliči na vsakem seznamu, ki je element slovarja. Lahko si pomagaš z gornjo funkcijo izpisi(slovar). Pred tem poskušaj funkcijo mediana polepšati, ker kličeš kup nepotrebnih funkcij, npr. deepcopy, list, ... Poglej si še, kakšna je razlika med klicem seznam.sort() in sorted(seznam).
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Resne težave z razumevanjem osnov programiranja (strani: 1 2 )Oddelek: Programiranje | 16543 (13055) | RatedR |
» | Naloga iz Putka - UPMOddelek: Programiranje | 2210 (1546) | NejcSSD |
» | programiranje krožek(pomoč)Oddelek: Pomoč in nasveti | 2751 (1739) | Marat |
» | Pomoč pri programiranju z javoOddelek: Programiranje | 3538 (2465) | milc |
» | [Turbo Pascal] Rabu bi nekaj ur inštrukcijOddelek: Programiranje | 1742 (1244) | DimmniBurek |