如何反转由o和x组成的字符方阵,得到指定的x排布效果
解决方案
你可以选择以下任意一种方式修改现有代码实现需求:
方案1:修改对角线判断条件
原来的代码判断i == j(主对角线)输出x,现在只需要把判断条件改为反对角线匹配即可,修改后的完整代码如下:
size = int(input("Size of the square: ")) for i in range(size): line = "" for j in range(size): # 行号+列号等于边长-1时,为反对角线位置 if i + j == size - 1: line += "x" else: line += "o" print(line)
方案2:直接反转每行输出
如果不想修改内层的判断逻辑,也可以在打印每行的时候直接反转字符串,改动量极小:
size = int(input("Size of the square: ")) for i in range(size): line = "" for j in range(size): if i == j: line += "x" else: line += "o" # 字符串切片反转后打印 print(line[::-1])
两种方案运行后输入5都可以得到你要的输出效果。
内容的提问来源于stack exchange,提问作者drsu
相关产品推荐
相关产品推荐

