你自己再根据你的需求改吧
def date_masking():
n = int(input())
if n <= 0:
return 'ERROR'
mask = []
for i in range(n):
item = input()
item = item[:4] + '******' + item[11:]
item = item[:7] + '*' + item[8:]
item = item[:13] + '****' + item[17:]
mask.append(item)
return '\n'.join(mask)
print(date_masking())
你先打印mask看里面是什么
再打印item看里面是什么
你根本没理解item到底是个什么东西
简单来说,item就是每个被空格分隔开的字符串,包括人名,是个str类型
字符串本身取下标就已经是字符了,你取下标的下标就已经越界了,更别说下标里还取[4:11]这种东西
第一,你的函数中,n从哪里来的,最好定义成参数
第二,字符串不支持切片操作,字符串是常量类型,你需要将其转成列表后进行操作,然后转回到字符串
第三,你的 return 的缩进是否有误
def date_masking():
for i in range(n):
mask = input().split()
print(mask)
mask[0] = mask[0][:4] + "*******" + mask[0][11:];
mask[1] = mask[1][0] + "*" + mask[1][2:]
mask[2] = mask[2][:3] + "****" + mask[2][7:]
return mask
n = int(input())
if n <= 0:
print("ERROR")
else:
print(date_masking())
你是要实现如下截图的效果吧?
def date_masking():
mask = []
for i in range(n):
mask.append(input().split())
for item in mask:
item[0] = list(item[0])
item[0][4:11] = ['*','*','*','*','*','*','*']
item[1] = list(item[1])
item[1][1] = '*'
item[2] = list(item[2])
item[2][3:7] = ['*','*','*','*']
item[0] = ''.join(item[0])
item[1] = ''.join(item[1])
item[2] = ''.join(item[2])
return mask
n = int(input())
if n <= 0:
print('ERROR')
else:
print(date_masking())
编写一个函数,其参数是两个正整数,将这两个正整数之间的所有素数以一个元组的形式返回。