Как распечатать приведенный ниже образец

. 
. + 
. + * 
. + * + 
. + * + * 
. + * + * + 
. + * + * + * 
. + * + * + * + 
. + * + * + * + * 
. + * + * + * + * + 

Это мой код, пожалуйста, помогите мне найти правильный ответ

num = int(input("Enter a number"))

for i in range (1,num+1):
    for j in range(1,i+1):
        if j ==1:
            dot = "."
            print(dot,end = " ")
        elif j ==2:
            plus = "+"
            print(plus,end = " ")
        elif j==3:
            star = "*"
            print(star,end = " ")    
    print()
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
4
0
50
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

num = int(input("Enter a number "))

for i in range(1, num + 1):
    for j in range(1, i + 1):
        
        if j == 1:
            dot = "."
            print(dot, end = " ")
        elif j % 2 == 0:
            plus = "+"
            print(plus, end = " ")
        elif j % 2 == 1:
            star = "*"
            print(star, end = " ")    
    print()

ты пропустил %

это не тот шаблон: ты печатаешь .+*.+*.+*.+* оп хочет .+*+*+*

folen gateis 04.07.2024 16:42

К тому же, это слишком сложно. for i in range(7): print("." + " + *"*(i//2) + " +"*(i%2))

chrslg 04.07.2024 16:47

@chrslg Я просто хотел сохранить его структуру. Я полагаю, он пытался понять, что не так в его коде.

NoobProgrammer 04.07.2024 16:51

Я понимаю. Я обычно делаю то же самое. За исключением того, что в этом случае они явно не заинтересованы в понимании того, что не так (вопрос не в том, «что не так», не в том, «как я могу повторить шаблон» или «как обработать случай 4,5, 6,7,... не перечисляя их всех"... Вопрос в том, "пожалуйста, сделайте это для меня" :D. Я почти уверен, что их больше интересует работающий, но загадочный метод, а не неработающий, но понятно :D).

chrslg 04.07.2024 16:56
Ответ принят как подходящий

В настоящее время вы только проверяете, строго ли значение равно 1, 2, 3, а затем печатаете, тогда как вам нужно использовать оператор %, чтобы проверить, какой символ нужно напечатать при делении на 2. Лучше понять через код:

n = int(input())
for i in range(n):
    for j in range(i + 1):
        if j == 0:
            print(". ", end = "")
        elif j % 2 == 0:
            print("+ ", end = "")
        else:
            print("* ", end = "")
    print()  

Другие вопросы по теме