我已经在Python 3.5中编写了下面的代码。 问题是我想从用户获取的值存储在Excel中,当程序重新启动时,它会自动读取保存的Excel文件中的所有数据。我确信有一些方法可以做到这一点。请指导我。我几乎是Python的初学者。Python数据导出/导入到/从Excel文件
也请检查错误代码。它有时会完美运行,有时它会重复,我说不,它仍然会重复。
name=[]
roll=[]
grade=[]
omarks=[]
tmarks=[]
p=-1
while True:
st=input("Do You want to add a Data or Search the Existing Data? \n1=Search \n2=Add \n3=Print All Data???\n")
while st=="3" or st=="P" or st=="Print" or st=="print" or st=="p":
for i in range (len(name)):
print ("Name of the Student: ",(name[i]))
print ("Roll Number:",(roll[i]))
print ("Class of the Student:",(grade[i]))
print (" ")
rpp=input("Repeat?? Y?N: ")
if rpp=="Y" or rpp=="y" or rpp== "Yes" or rpp=="YES" or rpp=="yes" or rpp=="1":
continue
if rpp=="N" or rpp=="n" or rpp== "No" or rpp=="NO" or rpp=="no" or rpp=="0":
break
while st=="2" or st=="A" or st=="Add" or st=="add" or st=="a":
nm=str(input("Enter The Name Here: "))
rl=int(input("Enter The Roll Number Here: "))
gr=int(input("Enter The Class Number Here: "))
om=int(input("Enter the Obtained Marks Here: "))
tm=int(input("Enter the Total Marks Here: "))
name.append(nm)
roll.append(rl)
grade.append(gr)
omarks.append(om)
tmarks.append(tm)
rpa=input("Add Another?? Y?N: ")
if rpa=="Y" or rpa=="y" or rpa== "Yes" or rpa=="YES" or rpa=="yes" or rpa=="1":
continue
if rpa=="N" or rpa=="n" or rpa== "No" or rpa=="NO" or rpa=="no" or rpa=="0":
break
while st=="1" or st=="S" or st=="Search" or st=="s" or st== "search":
rn=int(input("Enter the Roll Number Here: "))
for i in range (len(roll)):
if rn==roll[i]:
#p=i
print ("Name of the Student: ",name[i])
print ("Class of the Student: ",grade[i])
print ("Obtained Marks: ",omarks[i])
print ("Total Marks: ",tmarks[i])
else:
print ("The Roll Number Could not be Found! Search Again or Add the Data.")
rps=input("Search Again?? Y?N: ")
if rps=="Y" or rps=="y" or rps== "Yes" or rps=="YES" or rps=="yes" or rps=="1":
continue
elif rps=="N" or rps=="n" or rps== "No" or rps=="NO" or rps=="no" or rps=="0":
break
rp=input("Repeat The Program?? Y?N: ")
if rp=="Y" or rp=="y" or rp== "Yes" or rp=="YES" or rp=="yes" or rp==1:
continue
if rp=="N" or rp=="n" or rp== "No" or rp=="NO" or rp=="no" or rp==0:
break
try:
untrusted.execute()
except: # catch *all* exceptions
e = sys.exc_info()[0]
write_to_page("<p>Error: %s</p>" % e)
它更好,如果你开始学习如何调试代码。从你的问题规范看来,你在打破循环方面存在问题,所以仔细检查那些不符合你期望的条件。 –
将rp与1或0进行比较之前的一件事情,将rp转换为整数作为'int(rp)',否则它将不适用于输入1或0. –
实际上命名变量有意义的名称可能也有帮助... – Lunaweaver