#python
#python
Вопрос:
мой код разделяет только завершенные и неполные как исправить этот код, чтобы он мог найти недостающие данные, если это возможно это пример полных и отсутствующих данных:
Завершить:
"Ahmad Omar;802424333;10/4/2000;0550123456;A10B20;Audi;2018;15 April 2020;17 April 2020;350 c."
Недостающие данные:
"Ahmad Omar;802424333;;0550123456;A10B20;Audi;2018;15 April 2020;17 April 2020;350*"
это мой код
def splitCompleteAndIncomplete():
f = open("temp.txt","r")
count=0
for line in f.xreadlines( ):
count = 1
incompleteFile = open("CarRentalMissing.txt","w")
completeFile = open("CarRentalCompleted.txt","w")
for row in f.readlines():
l = row.split(";")
incompleteFlag=0
for i in l:
if len(i) == 0:
incompleteFlag=1
if(incompleteFlag == 1):
incompleteFile.write(row)
else:
completeFile.write(row)
f.close()
splitCompleteAndIncomplete()
Ответ №1:
Вы можете проверить наличие 2 флагов, 1. если встречается «;;», что означает, что значение было пропущено, 2. если число «;» правильное.
s_correct = r"Ahmad Omar;802424333;10/4/2000;0550123456;A10B20;Audi;2018;15 April 2020;17 April 2020;350 c."
s_missing = r"Ahmad Omar;802424333;;0550123456;A10B20;Audi;2018;15 April 2020;17 April 2020;350"
s_test = s_missing
print("s_test has missing data: ", (s_missing.find(";;") != -1) | (s_missing.count(";") != 9))
# True