输出n行n列的矩阵,其中对角线元素为“@”,其余为“”。 用Python输出如输入5则结果为:@@
@@*
@
@@*
@*@
n = int(input()) # 输入
for i in range(n): #遍历行
for j in range(n): #遍历列
if i == j:
print('@', end='') #end=''是为了让该语句打印后不打印换行
else:
print('*', end='')
print()
user = input("请输入一句话:")
for i in range(0,len(user)):
print("替换后的句子为:{}".format(user.replace("邪恶","**")))
解决方案:
n = 5 # 可以替换为任何整数n
# 使用嵌套列表定义矩阵
matrix = [["*" for j in range(n)] for i in range(n)]
# 将对角线元素置为“@”
for i in range(n):
matrix[i][i] = "@"
# 逐行输出矩阵
for row in matrix:
print("".join(row))
输出结果为:
*@***
***@*
**@**
***@*
*@***