Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Python: python rivit

stt-73 [02.12.2011 20:27:09]

#

Yritän tehdä semmoista ohjelmaa missä kysytään alkuluku ja loppuluku ja rivien määrä.
esim.(arvot kysytään input komennolla)

alku 1
loppu 10
rivit 3

pitäisi tulostaa
1 2 3
4 5 6
7 8 9
10

Jos olen saanut numerot tulostumaan riveittäin, en ole saanut rivimäärää kontrolloitua tai jos olen saanut rivimäärän toimimaa numerot on tulostuneet jäjestyksessä pystyy.
Olen kokeillut yhdellä ja kahdella for-silmukalla.

Olisiko tähän neuvoja.

Metabolix [02.12.2011 20:33:45]

#

En ymmärrä kysymystä, esimerkissäsi on neljä riviä.

Jos nyt oletetaan, että tuloste oli oikein ja selitys väärin, kaksi silmukkaa on hyvin yksinkertainen ratkaisu:

for rivin_alku in range(alku, loppu + 1, rivin_pituus):
	rivin_loppu = min(loppu, rivin_alku + rivin_pituus - 1)
	for i in range(rivin_alku, rivin_loppu):
		print(i, end = "\t")
	print(rivin_loppu)

Toinen tapa on vain tulostaa lukuja järjestyksessä ja pitää kirjaa lukujen määrästä. Kun lukujen määrä = 3, nollataan määrä hypätään seuraavalle riville; muuten tulostetaan luvun jälkeen vain väli.

Chiman [02.12.2011 20:56:32]

#

Tässä toinen tapa:

alku = 1
loppu = 10
sarakkeet = 3

tulos = ''
for i, x in enumerate(range(alku, loppu + 1)):
    tulos += '%d%s' % (x, '\n' if i % sarakkeet == sarakkeet - 1 else ' ')
print(tulos.strip())

stt-73 [02.12.2011 21:02:43]

#

Joo kiitos tuloste oli oikein ja selitys väärin.
Nyt alkoi asia selvitä

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta