텍스트 파일의 목록에서 특정 항목을 변경하려고 시도하는 코드가 있습니다. 텍스트 파일에는 전자 메일, 각 라인의 암호가 로그인 시스템과 비슷합니다. 코드는 전자 메일에 대한 사용자 입력을 요구 한 다음 텍스트 파일의 목록에있는 해당 사용자를 이진 검색합니다. 사용자가있는 경우 해당 사용자의 비밀번호를 변경하여 [1] 항목을 목록에 추가하십시오. 여기에 나는이 접근 얼마나, 나는 그것이 많은 밤은 알고 있지만 내가 어떻게 할 수있는 단서를 havent 지금까지텍스트 파일 목록의 특정 항목 변경
def ChangePassword():
while True:
email=input("Enter the email you want to change the password for")
res=BinarySearch(logindata,email)
if res:
break
을 암호를 변경하는 내 코드?
다음은 필요한 경우 이진 검색 자체에 대한 코드입니다. 당신이 당신의 정렬 및 (당신에게 달려있는) 제대로 코드를 검색하고 파일을 가정 구현 가정하면
def BubbleSort(logindata):
NoSwaps = 1
N = len(logindata)
logindata = list(logindata)
while NoSwaps == 1:
Count = 1
NoSwaps = 0
for Count in range(N-1):
if logindata[Count] > logindata[Count+1]:
temp = logindata[Count]
logindata[Count] = logindata[Count+1]
logindata[Count+1]=temp
NoSwaps=1
return tuple(logindata)
def BinarySearch(logindata,email):
First=0
Last=len(logindata)-1
while First <= Last:
Midpoint = (First + Last) // 2
if logindata[Midpoint][0] == email:
print("Email Found")
return True
elif logindata[Midpoint][0] > email:
Last = Midpoint - 1
else:
First = Midpoint + 1
print("Not found")
return False
파일을 정렬 했습니까? 어쨌든 파이썬 내장 함수는 어쨌든 구현만큼 빠르다. 검색을 다시 구현하는 이유는 무엇입니까? – kabanus
내가 그것을 가리키는 이진 검색을 사용해야하기 때문에, 나는 그것이 효율적이지 않을지라도 그 성가신 것을 알고, 정렬되는 파일에 관해서는 버블 정렬이 알파벳순으로 정렬되어야 하는가? @kabanus –
파일을 읽고 거품을 정렬하고 전자 메일을 바이너리로보고 항목을 변경 한 다음 새 파일이나 원래 파일에 결과를 씁니다. – kabanus