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

Zagnieżdżone pętle

VPS Starter Arubacloud
0 głosów
1,120 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 (156,260 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,153 wizyt
pytanie zadane 22 stycznia 2021 w C i C++ przez Karson Obywatel (1,000 p.)
0 głosów
1 odpowiedź 892 wizyt
pytanie zadane 24 czerwca 2019 w C i C++ przez magda_19 Gaduła (3,080 p.)
0 głosów
2 odpowiedzi 815 wizyt
pytanie zadane 5 lutego 2017 w C i C++ przez ofnero Użytkownik (830 p.)

93,023 zapytań

141,986 odpowiedzi

321,288 komentarzy

62,368 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...