» »

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! :)
  • zavaroval slike: Mavrik ()

arjan_t ::

ce zacnes steti vrstice z x=0 vidis da je znak "o" na poziciji x in N-x

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.

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 :)

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 :)

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]}
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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Resne težave z razumevanjem osnov programiranja (strani: 1 2 )

Oddelek: Programiranje
8016543 (13055) RatedR
»

Naloga iz Putka - UPM

Oddelek: Programiranje
242210 (1546) NejcSSD
»

programiranje krožek(pomoč)

Oddelek: Pomoč in nasveti
442751 (1739) Marat
»

Pomoč pri programiranju z javo

Oddelek: Programiranje
203538 (2465) milc
»

[Turbo Pascal] Rabu bi nekaj ur inštrukcij

Oddelek: Programiranje
221742 (1244) DimmniBurek

Več podobnih tem