[Python] program przedstawiający górkę

Awatar użytkownika
waliant
Użytkownik
Użytkownik
Posty: 1801
Rejestracja: 9 gru 2010, o 22:16
Płeć: Mężczyzna
Lokalizacja: warszawa
Podziękował: 275 razy
Pomógł: 183 razy

[Python] program przedstawiający górkę

Post autor: waliant »

Napisz program, ktory wczyta liczbe naturalna \(\displaystyle{ n < 10}\) i wypisze na wyjscie tekst skladajacy sie ze spacji i gwiazdek przedstawiajacy gorke wysokosci \(\displaystyle{ n}\). Np. dla \(\displaystyle{ n=4}\) powinno wyjść

Kod: Zaznacz cały

     *
    * *
   *   *
  *     *

Z czego powinienem tu korzystać? Bo zakładam, że nie chodzi o to by wypisać to 'na piechotę'.
gryxon
Użytkownik
Użytkownik
Posty: 311
Rejestracja: 30 gru 2011, o 02:21
Płeć: Mężczyzna
Lokalizacja: Puławy
Podziękował: 11 razy
Pomógł: 53 razy

[Python] program przedstawiający górkę

Post autor: gryxon »

Tablica dwuwymiarowa, a potem musisz znaleźć zależność na współrzędne gwiazdek w kolejnych wierszach.
Awatar użytkownika
waliant
Użytkownik
Użytkownik
Posty: 1801
Rejestracja: 9 gru 2010, o 22:16
Płeć: Mężczyzna
Lokalizacja: warszawa
Podziękował: 275 razy
Pomógł: 183 razy

[Python] program przedstawiający górkę

Post autor: waliant »

nie za bardzo wiem co masz na myśli, nie poznaliśmy jeszcze tablic.
gryxon
Użytkownik
Użytkownik
Posty: 311
Rejestracja: 30 gru 2011, o 02:21
Płeć: Mężczyzna
Lokalizacja: Puławy
Podziękował: 11 razy
Pomógł: 53 razy

[Python] program przedstawiający górkę

Post autor: gryxon »

Heh, ale pętle zakładam, że znacie.

W tym programie robisz pętle w pętli. Przebiegi nadrzędnej pętli to kolejne wiersze.
Przebiegi pętli wewnętrznej to przejście po jednym wierszu tego co drukujesz na wyjściu.

Przyjmij, że gwiazdki rysujesz w pewnej odległości od środka wiersza.
Jeżeli to co napisałem jest zbyt zagmatwane to pisz to pomyślimy nad jakimś przykładem w kodzie.
Awatar użytkownika
waliant
Użytkownik
Użytkownik
Posty: 1801
Rejestracja: 9 gru 2010, o 22:16
Płeć: Mężczyzna
Lokalizacja: warszawa
Podziękował: 275 razy
Pomógł: 183 razy

[Python] program przedstawiający górkę

Post autor: waliant »

Tak pętle znamy, tylko niestety jednak zbyt zagmatwane bym mógł z tego sam zrobić kod. Myślę, że o to chodzi w tym zadaniu, by wkonać je za pomocą pętli.
gryxon
Użytkownik
Użytkownik
Posty: 311
Rejestracja: 30 gru 2011, o 02:21
Płeć: Mężczyzna
Lokalizacja: Puławy
Podziękował: 11 razy
Pomógł: 53 razy

[Python] program przedstawiający górkę

Post autor: gryxon »

To patrz, nie znam pythona więc będziesz musiał sam to sobie dopasować żeby było dobrze ;p

Kod: Zaznacz cały

 s=n;
 for i in range(n):
 for j in range(2n+1):if(j == [COŚ TAM] || j==[COŚ TAM])print "*"; else print " ";
To taki szkielecik, sam wpadnij co ma być w COŚ TAM. Tak jak już mówiłem znajdź zależność odległości gwiazdki od środka, od numeru kolumny (\(\displaystyle{ i}\)).

P.S. Mam nadzieje, że powyższa konstrukcja zaczyna pętle od \(\displaystyle{ 0}\)
Awatar użytkownika
waliant
Użytkownik
Użytkownik
Posty: 1801
Rejestracja: 9 gru 2010, o 22:16
Płeć: Mężczyzna
Lokalizacja: warszawa
Podziękował: 275 razy
Pomógł: 183 razy

[Python] program przedstawiający górkę

Post autor: waliant »

mimo szczerych chęci nie rozumiem tego.
gryxon
Użytkownik
Użytkownik
Posty: 311
Rejestracja: 30 gru 2011, o 02:21
Płeć: Mężczyzna
Lokalizacja: Puławy
Podziękował: 11 razy
Pomógł: 53 razy

[Python] program przedstawiający górkę

Post autor: gryxon »

Rozumiesz składnie c++ ?
Bo jak tak to wtedy mógłbym przejrzyście i szybko to tłumaczyć ;p
Awatar użytkownika
waliant
Użytkownik
Użytkownik
Posty: 1801
Rejestracja: 9 gru 2010, o 22:16
Płeć: Mężczyzna
Lokalizacja: warszawa
Podziękował: 275 razy
Pomógł: 183 razy

[Python] program przedstawiający górkę

Post autor: waliant »

nie, to pierwszy język jakiego się uczę
gryxon
Użytkownik
Użytkownik
Posty: 311
Rejestracja: 30 gru 2011, o 02:21
Płeć: Mężczyzna
Lokalizacja: Puławy
Podziękował: 11 razy
Pomógł: 53 razy

[Python] program przedstawiający górkę

Post autor: gryxon »

No cóż nie znam na tyle składni by zagnieżdżać pętle i było dobrze.

Jedyny trop który mogę Ci podrzucić to to że musisz użyć pętli w pętli. ;p
Spróbuj może najpierw wypisać same gwiazdki "*", bez spacji. ;p Potem pokombinujesz trochę i Ci wyjdzie ;p

P.S. Gwiazdki bez spacji w sensie:

Kod: Zaznacz cały

*********
*********
*********
*********
Awatar użytkownika
waliant
Użytkownik
Użytkownik
Posty: 1801
Rejestracja: 9 gru 2010, o 22:16
Płeć: Mężczyzna
Lokalizacja: warszawa
Podziękował: 275 razy
Pomógł: 183 razy

[Python] program przedstawiający górkę

Post autor: waliant »

mam takie coś

Kod: Zaznacz cały

for i in range(n):
    print('*',end=' ')
    for k in range(n+1):
        print('1')
    
i dla \(\displaystyle{ n=2}\) otrzymuję taki wynik:

Kod: Zaznacz cały

* 1
1
1
* 1
1
1

Wiem, że to daleko, ale czy mógłbyś wytłumaczyć mi dlaczego taki wynik? Bo nie rozumiem o co chodzi w tej pętli w pętli.
Awatar użytkownika
Althorion
Użytkownik
Użytkownik
Posty: 4541
Rejestracja: 5 kwie 2009, o 18:54
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 9 razy
Pomógł: 662 razy

[Python] program przedstawiający górkę

Post autor: Althorion »

Zewnętrzna pętla (for i in range(n)) bierze kolejne wartości naturalne, od zera do n-1 włącznie, i podstawia za i wewnątrz kolejnych instrukcji, które idą następująco:
1. Wypisz "* ".
2. Rozpocznij pętle, która bierze kolejne wartości naturalne od zera do n włącznie i podstawia je za k wewnątrz kolejnych instrukcji, które idą następująco:
2a. Wypisz 1 i postaw enter.

Czyli idzie to tak:
# Początek zewnętrznej pętli
1. i = 0
2. Wypisz '* '.
# Początek wewnętrznej pętli
3. k = 0
4. Wypisz 1 i postaw enter.
5. k = 1
6. Wypisz 1 i postaw enter.
7. k = 2
8. Wypisz 1 i postaw enter.
# Koniec wewnętrznej pętli
9. i = 1
10. Wypisz '* '.
# Początek wewnętrznej pętli
11. k = 0
12. Wypisz 1 i postaw enter.
13. k = 1
14. Wypisz 1 i postaw enter.
15. k = 2
16. Wypisz 1 i postaw enter.
# Koniec wewnętrznej pętli
# Koniec zewnętrznej pętli
ODPOWIEDZ