• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zagnieżdżone pętle

0 głosów
1,334 wizyt
pytanie zadane 2 maja 2020 w Python przez lenzo1 Początkujący (360 p.)

Witam. Mam problem z narysowaniem pustego w środku prostokąta w Pythonie przy użyciu zagnieżdżonych pętli. Napisałem taki kod:

wysokosc=7
szerokosc=10
for j in range(0,wysokosc,1):
    for i in range(0,szerokosc,1):
        if (j == 0 or j == wysokosc-1) or i ==0 or i==szerokosc-1:
            print("#","",end='')
    print('')

Pojawia się takie coś:

# # # # # # # # # # 
# # 
# # 
# # 
# # 
# # 
# # # # # # # # # # 

Proszę o wskazówkę bo już nie mam pomysłu jak to zrobić.

3 odpowiedzi

+1 głos
odpowiedź 2 maja 2020 przez DawidK Nałogowiec (37,910 p.)
wybrane 2 maja 2020 przez lenzo1
 
Najlepsza

Możesz sobie "wyciąć" środek tzn zastąpić pustymi znakami #. Puste miejsce będzie gdy jednocześnie wiersz będzie w przedziale: drugi-przedostatni i kolumna również w przedziale druga-przedostatnia

wysokosc=7
szerokosc=10
for j in range(wysokosc):
    for i in range(szerokosc):
        if (i>0 and i<szerokosc-1) and (j>0 and j < wysokosc-1):
            print(" ","",end='')
        else:
            print("#","",end='')
    print('')

 

+2 głosów
odpowiedź 2 maja 2020 przez mokrowski Mędrzec (158,960 p.)

Oj, trochę przekombinowałeś. Wystarczy pamiętać że ciąg znaków w języku Python obsługuje operator mnożenia. W trybie "szkolnym":

def show_square(width, height):
    assert width > 2 and height > 2
    print("#" * width)
    print(("#" + " " * (width - 2) + "#\n") * (height - 2), end='')
    print("#" * width)

if __name__ == '__main__':
    show_square(10, 7)

 

+1 głos
odpowiedź 2 maja 2020 przez Jarrow234 Obywatel (1,060 p.)
W tym momencie w środkowych liniach wypisujesz '#', potem twój program robi kilka "pustych" obrotów i wypisuje drugi '#'. Żeby powstał prostokąt w tych pustych obrotach musisz wypisać np. spację

Podobne pytania

+1 głos
2 odpowiedzi 1,526 wizyt
pytanie zadane 22 stycznia 2021 w C i C++ przez Karson Obywatel (1,000 p.)
0 głosów
1 odpowiedź 1,128 wizyt
pytanie zadane 24 czerwca 2019 w C i C++ przez magda_19 Gaduła (3,080 p.)
0 głosów
2 odpowiedzi 911 wizyt
pytanie zadane 5 lutego 2017 w C i C++ przez ofnero Użytkownik (830 p.)

93,695 zapytań

142,612 odpowiedzi

323,223 komentarzy

63,224 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...