有人可以帮助我解决这个python挑战使用while循环?



这是我第一次使用python

我想创建这个输出,但是我不知道怎么做,而且练习while循环非常令人沮丧。

这是I've try

的代码
x=1
while x <=5:
y=1
while y<=5:
print(y,end="")
y+=1
print("*")
x+=1

可能的输出应该像这样

* 2 3 4 5
1 * 3 4 5
1 2 * 4 5
1 2 3 * 5
1 2 3 4 *

所以您只想在xy相同时打印*,所以添加一个条件来检查。

x=1
while x <=5:
y=1
while y<=5:
if x==y:
print('*',end="")
else:
print(y,end="")
y+=1
print()
x+=1

只是为了好玩

>>> print('n'.join(' '.join(map(str, (*range(1, i), '*', *range(i+1, 6)))) for i in range(1, 6)))
* 2 3 4 5
1 * 3 4 5
1 2 * 4 5
1 2 3 * 5
1 2 3 4 *

最新更新