Вам нужно заменить только 1 звезду во внутреннем цикле:
stars = "******"
for x in range(6):
stars = stars.replace("*","1")
print(stars)
for y in range(1): # need range(1) to loop exactly once
stars = stars.replace("1","",1)
Выход:
111111
11111
1111
111
11
1
Если вы на самом деле хотите звезды:
stars = "******"
for x in range(6):
print(stars)
for y in range(1):
stars = stars.replace("*","",1)
Выход:
******
*****
****
***
**
*
Последний аргумент str.replace засчитывается, когда заменены только первые экземпляры счетчика. Итак, каждый раз мы заменяем только один символ.
Если у вас есть использует звезды переменной и заменить то выше код будет работать, если вам просто нужны вложенные циклы и создать шаблон, вы можете прогиб вниз от 5 и использовать end=""
печати один раз во внутреннем цикле:
for x in range(5, -1, -1):
print("1" * x, end="")
for y in range(1):
print("1")
Опять тот же вывод:
111111
11111
1111
111
11
1
Спасибо так много. Знал, что это не сложно. – RandomPRSN
@RandomPRSN, не стоит беспокоиться, рад, что это помогло –
Внутренний цикл в основном не является циклом ... он работает только один раз, поэтому вы можете просто оставить его и выполнить его содержимое напрямую. – swenzel