Софтуерно Инженерство
Loading...
+ Нов въпрос
smileva avatar smileva 1 Точки

Въпрос за print () от задачата Square of Stars

Здравейте, имам въпрос относно задачата с квадрата от звездички. Опитах се да го направя сама, преди да гледам демонстрацията от лекцията и цикълът ми беше малко по-различен, а именно:

for i in range(1,(num-1)):

    print('*',' '*(num-4),'*')

С други думи, опитах се да принтирам частта със звездичка-празни-места-звездичка на един ред. ПОЧТИ ми се получи, но само с числа над 3, защото за 3 се получава:

***

*  *

***

С други думи, имам два спейс-а които не ми трябват. Това, предполагам произлиза от това, че като се принтира автоматично се добавя един спейс след принтираната стойност. Има ли начин това да се избегне, без да се разписва print частта на 3 отделни реда както ни беше показано в лякцията?

for i in range(1,(num-1)):

    print('*',end='')

    print(' '*(num-2),end='')

    print('*')

icowwww avatar icowwww 958 Точки
Best Answer

print('*'+' '*(num-2)+'*')

с плюсове вместо запетайки няма ли да се оправят. Може да греша...

Това ли е търсения резултат: https://image.prntscr.com/image/67pZCFINRZWshWrVMPx5Rg.jpg

num = int(input());
print('*'*(num))
for i in range(1,(num-1)):
    print('*'+' '*(num-2)+'*')
    
print('*'*(num))

0
09/10/2017 02:41:28
smileva avatar smileva 1 Точки

Да! Стана! Много мерси! (:

0