,因此我正在尝试创建一个可以搜索数据文件的代码:
以下是我创建的代码:
def search():
option = input('Please select to search by \n1. Surname\n2. D.O.B\n')
if option == '1':
surname = input('Please enter surname: ')
while not surname.isalpha():
surname = str(input('Please enter a valid surname: '))
Myfile = open('Address book.csv', 'rt')
for line in Myfile:
if ',' + str(surname) + ',' in line:
print(line)
else:
print('No contacts found')
elif option == '2':
Validmonth = False
while Validmonth == False:
month = input('Please enter the birth month')
if month >='13' and month <='0':
print('Please enter a valid month')
else:
Validmonth = True
Myfile = open ('Address book.csv', 'rt')
for line in Myfile:
if str(month) in line:
print(line)
else:
print('No contacts found')
else:
print('Error, select a valid option')
search()
search()
当我尝试代码时,我一直得到这个结果:
^{pr2}$我想知道为什么?谁来帮忙?在
在每行上测试姓氏,然后为不匹配的每一行打印
No contacts found
。在找到名称后,请退出循环,并将
else
套件用于for
循环:只有在耗尽iterable的情况下,
for
循环上的else
才会执行,因此,当您使用了not时,会提前中断循环。在您的姓氏是该行的第一个值,因此您最好测试一下该行是否以姓氏开头:
^{pr2}$专业提示:读取CSV文件时,请使用^{} module :
相关问题 更多 >
编程相关推荐