Вопрос:
Профессор дал нам простой код, который выполняет квадрат, и нам нужно добавить/изменить код, чтобы вывести форму правого треугольника, как показано ниже. Это просто простой цикл внутри кода цикла, но я не могу найти подсказки или помочь где-нибудь создавать фигуры с Python без кода, выглядящего крайне запутанным/сложным. Мне нужно простое объяснение, что делать и почему мне нужно внести эти изменения.
(Вложенный код цикла для создания правильного треугольника в Python)
Код, который выполняет квадрат:
Draw Squaresize = input(‘Please enter the size: ‘) chr = raw_input(‘Please enter the drawing character: ‘) row = 1 while row <= size: # Output a single row col = 1 while col <= size: # Output a single character, the comma suppresses the newline output print chr, col = col + 1 # Output a newline to end the row print » row = row + 1 print »
Форма, которую мне нужно вывести…..
x x x x x x x x x x x x x x x x x x x x x x x x x x x x
Еще раз, просто объяснение кода, это введение в курс Python.
Ответ №1
Просто измените в while col <= size: до while col <= row:
Это напечатает номер row X
Если row равна 1 выход: X
Если row равна 2 выход: XX
Если row равна 3 это: XXX
Если row равна 4 выход: XXXX
Ответ №2
Вот какой код:
size = int(raw_input(«Enter the size: «)) #Instead of input, #convert it to integer! char = raw_input(«Enter the character to draw: «) for i in range(1, size+1): print char*i #on the first iteration, prints 1 ‘x’ #on the second iteration, prints 2 ‘x’, and so on
Результат:
>>> char = raw_input(«Enter the character to draw: «) Enter the character to draw: x >>> size = int(raw_input(«Enter the size: «)) Enter the size: 10 >>> for i in range(1, size+1): print char*i x xx xxx xxxx xxxxx xxxxxx xxxxxxx xxxxxxxx xxxxxxxxx xxxxxxxxxx
Кроме того, избегайте использования input в Python 2, поскольку он оценивает строку, переданную как код, это небезопасно и плохо работает.
Надеюсь это поможет!
Ответ №3
Код:
def triangle(i, t=0): if i == 0: return 0 else: print ‘ ‘ * ( t + 1 ) + ‘*’ * ( i * 2 — 1 ) return triangle( i — 1, t + 1 ) triangle(5)
Вывод:
* * * * * * * * * * * * * * * * * * * * * * * * * Ответ №4values = [0,1,2,3] for j in values: for k in range (j): print «*»,; print «*»;
- определить массив
- начать сначала для цикла в один на один, инициализировать значения массива в переменной j
- начать вторую (вложенную) для цикла для инициализации runje переменной j в переменной k
- end (вложенный) для цикла для печати * в качестве парного инициализированного диапазона j, присвоенного k, т.е. если диапазон равен 1, то напечатайте один *
- end для цикла и печати * для no из инициализированного массива
Ответ №5 def pattStar(): print ‘Enter no. of rows of pattern’ noOfRows=input() for i in range(1,noOfRows+1): for j in range(i): print’*’, print» Ответ №6for x in range(10,0,-1): print x*»*»
вывод:
********** ********* ******** ******* ****** ***** **** *** ** * Ответ №7
вы можете получить его, просто используя это:
size = input(‘Please enter the size: ‘) chr = raw_input(‘Please enter the drawing character: ‘) i=0 str =» while i< size: str = str +’ ‘+ chr print str i=i+1