I первый прочь хотел бы сказать, что это может быть классифицирован как дубликат поста, на основе моего текущего исследования:Создание номера пирамиды
How to do print formatting in Python with chunks of strings? и Number Pyramid Nested for Loop и pyramid of numbers in python
[Edit: Причина, по которой я не могу использовать выводы по этим предыдущим вопросам, очень похожие на мои, заключается в том, что я не могу использовать ничего, кроме того, что мы до сих пор рассматривали в моем классе. Мне не разрешено использовать такие решения, как: len, map, join и т. Д. Я ограничен основными форматами и преобразованием строк.]
Я работаю над назначением для своего класса Python (используя 3.0+), и я достиг точки, где я застрял. Эта программа предназначена, чтобы позволить пользователю ввести число от 1 до 15, как число строк и вывод числовой пирамиды на основе их выбор, такие как в следующем примере, когда пользователь будет вход 5:
1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
5 4 3 2 1 2 3 4 5
Так далеко я дошел до того, что могу успешно печатать входы с 1 по 9, но столкнулся с двумя проблемами.
- Входы от 10 до 15 номеров становятся несогласованными (что, по-видимому, было у пользователей в вышеуказанных сообщениях).
- я не могу показаться, чтобы правильно форматировать отпечатанные номера, чтобы иметь пробелов между ними, как мой пример выше
Мой текущий код для программы:
print("This program creates a number pyramid with 1 to 15 lines")
lines = eval(input("Enter an integer from 1 to 15: "))
if lines < 16:
for i in range(1, lines + 1):
#Print leading space
for j in range(lines - i, 0, -1):
print(" ", end = '')
#Print left decreasing numbers
for j in range(i, 0, -1):
print(j, end = '')
#Print right increasing numbers
for j in range(2, i + 1):
print(j, end = '')
print("")
else:
print("The number you have entered is greater than 15.")
И мой выходной ток :
Enter an integer from 1 to 15: 15
1
212
32123
4321234
543212345
65432123456
7654321234567
876543212345678
98765432123456789
109876543212345678910
1110987654321234567891011
12111098765432123456789101112
131211109876543212345678910111213
1413121110987654321234567891011121314
15141312111098765432123456789101112131415
Я прошу вас, ребята, из желания учиться, а не для кого-либо, чтобы закодировать меня. Я хочу понять, что я делаю неправильно, поэтому я могу это исправить. Спасибо всем заранее!
Это будет довольно трудно с двузначными числами. Что вы хотите, чтобы он выглядел, когда он так далеко? –
Возможный дубликат [пирамиды чисел в python] (http://stackoverflow.com/questions/13077491/pyramid-of-numbers-in-python) – gabra
Габра, вы правы, это тоже одна из вещей, которые я искал в. Предложите добавить это в этот вопрос, добавив его сейчас. У этого есть решение, но не то, что я могу использовать. – Norr