在python模式中用另一个数字替换一个数字

时间:2018-07-14 16:58:29

标签: python

我用以下代码打印图案

def a():
    for row in range(5):
        for col in range(5):
            if ((col==0 or col==4)and row!=0)or ((row==0 or row==2)and (col>0 and col<4)):
                b = print('1',end=" ")
                #m = print(type(l))


            else:
                b = print('0',end=" ")
                #n = print(type(l))
                #re.sub("1", "2", b)

        print()
        #print(type(b))

        #xstr(l)
        #k = l.replace(l,'1','2',7)

    return(b)

a()

输出如下

0 1 1 1 0 
1 0 0 0 1 
1 1 1 1 1 
1 0 0 0 1 
1 0 0 0 1 

现在我想用任何数字,任何字符或任何特殊字符替换1。我试图使用replace()和regex,但无法获得结果。 有时程序会返回“ NoneType”错误。乡亲有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

首先,print函数始终返回None,因此您要始终向b分配None值。

要替换1,我建议使用函数参数。用两个参数定义函数a,例如。 value1value2,并使用算法中的参数打印字符。这样,您可以更改输出:

def a(value1, value2):
    for row in range(5):
        for col in range(5):
            if ((col==0 or col==4)and row!=0)or ((row==0 or row==2)and (col>0 and col<4)):
                print(value1,end=" ")
            else:
                print(value2,end=" ")
        print()

a('#', '.')

将打印:

. # # # . 
# . . . # 
# # # # # 
# . . . # 
# . . . #