這裏的眼睛捕捉器是數字255
,你想要顯示1
,這清楚地表明,你只對8th bi
噸感興趣。 這看起來很奇怪的唯一情況是如何與您的要求,符合你的O/P,不操作在這種情況下1
,你必須離開它,你的改造
的。如果我必須信任你的要求
>>> with open("test.in") as fin, open("test.out","w") as fout:
for line in fin:
line = (e >> 7 for e in map(int, line.split()))
fout.write(''.join(map(str, line)))
fout.write('\n')
如果我必須信任你的數據
>>> with open("test.in") as fin, open("test.out","w") as fout:
for line in fin:
line = (e >> 7 if e != 1 else 1 for e in map(int, line.split()))
fout.write(''.join(map(str, line)))
fout.write('\n')
另一種不同的觀點對這一問題。
>>> with open("test.in") as fin, open("test.out","w") as fout:
for line in fin:
line = (e/255 if e != 1 else 1 for e in map(int, line.split()))
fout.write(''.join(map(str, line)))
fout.write('\n')
您的條件與目標數據不一致。這些條件與數據一致: 1.如果line = 1中的值,則保留該值; 2.如果line = 255中的值,替換爲1; 3.如果行<255(254,253,252 ...)中的值替換爲0 –
對不起,條件(2)中必須爲==><(小於) – Jinxsica
您仍然缺少條件「如果在行= 1的值,保留值「 –