我用以下代码打印图案
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”错误。乡亲有什么帮助吗?
答案 0 :(得分:2)
首先,print
函数始终返回None
,因此您要始终向b
分配None
值。
要替换1
,我建议使用函数参数。用两个参数定义函数a
,例如。 value1
和value2
,并使用算法中的参数打印字符。这样,您可以更改输出:
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('#', '.')
将打印:
. # # # .
# . . . #
# # # # #
# . . . #
# . . . #