[英]Why does my code repeat itself more than once in a file
您好,我在使用此代碼時遇到麻煩。 當它寫入文件時,文件中的文本會重復。 當代碼循環並添加更多文本時,它將加入所插入的文本。 我想知道您是否可以幫助我停止重復的文本,但仍然寫到新行。 我希望第一人稱信息在第一行,第二人稱信息在第二行,依此類推,謝謝。
myFile1 = open("a-l.txt", "wt")
myFile2 = open("m-z.txt", "wt")
myList1 = ([])
myList2 = ([])
while 1:
surName = input("Enter your surname name:")
if surName[0] in ("A","B","C","D","E","F","G","H","I","J","K","L"):
myList1.append(surName)
title = input("Enter your prefered title:")
myList1.append(title)
firstName = input("Enter your first name:")
myList1.append(firstName)
bDay = input("Enter birthdate in mm/dd/yyyy format:")
myList1.append(bDay)
phoneNum = input("Enter your phone number:")
myList1.append(phoneNum)
email = input("Please enter your email.")
myList1.append(email)
for item in myList1:
myFile1.write(','.join(str(x) for x in myList1) + '\n')
elif surName[0] in ("M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"):
myList2.append(surName)
title = input("Enter your prefered title:")
myList2.append(title)
firstName = input("Enter your first name:")
myList2.append(firstName)
bDay = input("Enter birthdate in mm/dd/yyyy format:")
myList2.append(bDay)
phoneNum = input("Enter your phone number:")
myList2.append(phoneNum)
email = input("Please enter your email:")
myList2.append(email)
for item in myList2:
myFile2.write(','.join(str(x) for x in myList2) + '\n')
elif surName == "1":
break
myFile1.close()
myFile2.close()
這是因為您實際上使用了兩個for循環。 您正在使用列表推導將整個列表合並為一行並將其寫入文件,但是您執行了X次,其中X是列表中的項目數。
for item in myList1:
myFile1.write(','.join(str(x) for x in myList1) + '\n')
您不需要外部for
循環
myFile1.write(','.join(str(x) for x in myList1) + '\n')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.