Python 3.x 退出python中的for循环

Python 3.x 退出python中的for循环,python-3.x,for-loop,Python 3.x,For Loop,如果在第一个for循环中找到注册号,如何阻止代码执行第二个for循环。提问时提供更多详细信息。如果我理解你的意思,那么你要做的就是在一个文件中搜索一个特定的数字;如果找到号码,请打开另一个文件并记下,否则,如果找不到号码,请为用户提供将该号码添加到第一个文件的选项。您的代码效率极低:每次调用write()时都打开同一个文件,并且使用两个循环,而其中一个循环可以。请尝试以下方法: owner_details = open ("owner_details","r") for lin

如果在第一个for循环中找到注册号,如何阻止代码执行第二个for循环。

提问时提供更多详细信息。如果我理解你的意思,那么你要做的就是在一个文件中搜索一个特定的数字;如果找到号码,请打开另一个文件并记下,否则,如果找不到号码,请为用户提供将该号码添加到第一个文件的选项。您的代码效率极低:每次调用
write()
时都打开同一个文件,并且使用两个循环,而其中一个循环可以。请尝试以下方法:

 owner_details = open ("owner_details","r")
        for line in owner_details.readlines():
            if RegistrationNumber  in line:
              vehicles_speeding  = open ("vehicles_speeding","a")
              vehicles_speeding.write(line)
              vehicles_speeding.close()
              print ("Details for registration",[RegistrationNumber],"have been added to the 'vehicles_speeding' file")
              time.sleep(2)
              view = input("Match found for registration number in 'owner_details' file. Do you wish to view details \n:")
              view = view.upper()
              if view == "YES":
                  print (line)
            else:
                continue 


        owner_details = open ("owner_details","r")         
        for line in owner_details.readlines():
            if RegistrationNumber not in line:
                add= input("No match found for registration number do you want to add details for registration number ? \n:")
                add = add.upper()
            if add == "YES":
                name = input("enter vehicle owners full name \n:")
                adress = input ("Enter vehicle owners adress \n:")
                vehicles_speeding = open ("vehicles_speeding","a")
                vehicles_speeding.write("\n"+"NAME: ")
                vehicles_speeding = open ("vehicles_speeding","a")
                vehicles_speeding.write(name)
                vehicles_speeding = open ("vehicles_speeding","a")
                vehicles_speeding.write("ADDRESS: ")
                vehicles_speeding = open ("vehicles_speeding","a")
                vehicles_speeding.write(' '+adress)
                vehicles_speeding = open ("vehicles_speeding","a")
                vehicles_speeding.write("REGISTRATION NUMBER: ")
                vehicles_speeding = open ("vehicles_speeding","a")
                vehicles_speeding.write( ' '+RegistrationNumber+' ')
                vehicles_speeding = open ("vehicles_speeding","a")
                vehicles_speeding.write("SPEED: ")
                vehicles_speeding = open ("vehicles_speeding","a")
                vehicles_speeding.write("%2.f"%(Speed))
                vehicles_speeding = open ("vehicles_speeding","a")
                vehicles_speeding.write(' '+"m/s")
                vehicles_speeding.close()
                print ("Details have been added to file")

为了提高效率,您可以为
详细信息
分配固定数量的空间以防止其增长(类似于
详细信息=[“”]*9
),然后填充这些空间

为什么要多次打开同一个文件?你想在这里做什么?:
中断
如果你想结束循环,
继续
如果你想进入下一个迭代。
owner_details = open("owner_details","r")
vehicles_speeding  = open ("vehicles_speeding","a")
for line in owner_details:
     if RegistrationNumber in line:
         vehicles_speeding.write(line)
         print ("Details for registration",RegistrationNumber,"have been added to the 'vehicles_speeding' file")
         view = input("Match found for registration number in 'owner_details' file.\nDo you wish to view details:").upper()
         if view.startswith("Y"):
            print(line)
         break 
else:      # this branch is run, if the FOR loop completed without breaking
    add = input("No match found for registration number.\nDo you want to add details for registration number?:").upper()
    if add.startswith("Y"):
        details = []
        name = input("enter vehicle owners full name: ")
        adress = input ("Enter vehicle owners address: ")
        details.append("\nNAME: ")   # Too many concatenations
        details.append(name)
        details.append("ADDRESS: ")   # append is cheaper 
        details.append(adress)       # than writing to the file every time
        details.append("REGISTRATION NUMBER: ")
        details.append(RegistrationNumber)
        details.append("SPEED: ")
        details.append("%2.f" %(Speed))  #not really sure what format u want
        details.append(" m/s")
        vehicles_speeding.write("".join(details))   # write everything at once
        print("Details have been added to file")

vehicles_speeding.close()   # now you can close them
owner_details.close()