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

Zagnieżdżone pętle

Object Storage Arubacloud
0 głosów
1,000 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 (155,460 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 950 wizyt
pytanie zadane 22 stycznia 2021 w C i C++ przez Karson Obywatel (1,000 p.)
0 głosów
1 odpowiedź 746 wizyt
pytanie zadane 24 czerwca 2019 w C i C++ przez magda_19 Gaduła (3,080 p.)
0 głosów
2 odpowiedzi 784 wizyt
pytanie zadane 5 lutego 2017 w C i C++ przez ofnero Użytkownik (830 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...