Что не так с этим вложенным циклом? - PullRequest
0 голосов
/ 29 сентября 2018

Я пишу программу, которая должна иметь вывод, который выглядит следующим образом.

111111111
222222222
333333333
444444444
555555555
666666666
777777777
888888888
999999999

Я написал этот код:

for i in range(10):
  for j in range(10):
    print (str(i) * i)
print()

, но это не так!

Есть мысли?

Ответы [ 3 ]

0 голосов
/ 29 сентября 2018

Обратите внимание, что это линейная последовательность, поэтому вы можете использовать range.

print(*range(111111111, 1000000000, 111111111), sep='\n')

Выход

111111111
222222222
333333333
444444444
555555555
666666666
777777777
888888888
999999999
0 голосов
/ 01 октября 2018
[print(str(i)*len(range(1,10))) for i in range(1,10)]
111111111
222222222
333333333
444444444
555555555
666666666
777777777
888888888
999999999

Расширен:

for i in range(1,10):
    print(str(i) * len(range(1,10)))
0 голосов
/ 29 сентября 2018

Вам нужен только один цикл for, поскольку у вас есть фиксированное повторение для каждого числа, т. Е. 9. Кроме того, вам нужно заменить range(10) на range(1,10), поскольку range(10) по умолчанию будет начинаться с 0, но вы неt нужно 000000000

for i in range(1,10):
    print (str(i) * 9)

Выход

111111111
222222222
333333333
444444444
555555555
666666666
777777777
888888888
999999999
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...