猿问

python,循环:搜索列表以查看项目是否存在,附加到新列表

我正在尝试制作一个程序,让我的学生输入他们的ID号,这样我(在代码中稍后)可以自动发送出勤率,并记录谁交了作业和谁没有交作业,因此可以将电子邮件发送给父母。我已完成其他所有工作,但无法输入学生证的工作内容。


我想要做的是:1)确保他们的输入是 7 个字符长 2)检查他们的 ID 是否存在于 'fakeID' 2a)让学生用 ay/n 从 'classNames' 中确认他们的名字。2b) 将他们的名字附加到inputIDList 3) 如果输入是 == 到 9999990 退出循环。


它在做什么:1)要求输入2)在代码中继续前进而不循环播放3)不追加 inputIDList


我认为对于我目前的技能水平来说,这太复杂了。


编辑:循环不检查输入的 ID 是否在我的fakeID列表中。此外,它不是循环 for,所以一旦输入输入,它就会继续下一组代码。


edit2:更新的代码有效。:D


fakeID = ['1111111','1111112','1111113','1111114','1111115']

classNames = ['name1', 'name2', 'name3', 'name4', 'name5']

toplist = list(zip(fakeID, classNames))



inputIDList =[]

def inputID():

 while True:

     id = input('Please enter your student ID and hit Enter')


     if id == '9999990':

         print('Done')

         break


     if id in fakeID:

         inputIDList.append(id)

         print('recorder')

         continue


     if id not in fakeID:

         print('I do not know this ID. Please try again.')

         continue


尚方宝剑之说
浏览 128回答 3
3回答

狐的传说

以下是一些入门知识:fakeID = {'1111111','1111112','1111113','1111114','1111115'}while True:    id = input('Please enter your student ID and hit Enter')    if id == '9999990':        print('Done')        break    if id not in fakeID:        print('I do not know this ID. Please try again.')        continue

青春有我

如果我正确理解您的问题,那么我想您正在尝试将学生的 ID 号保存在inputIdList 中,然后检查特定 ID 是否在inputIdList 中。在最后一个if条件中,您尝试将List类型对象与String类型对象进行比较,这肯定会引发TypeError。而是定义以下函数并在if条件中调用它。def check_list(id):    try:        inputIdList.index(id)        return True    except TypeError:        return Falselist.index()方法尝试在列表中查找元素并返回元素的索引号。然后在你的if条件中调用这个函数。if check_list('9999990'):    print('done')     #break此外,inputIdList = [""]如果您已经将其初始化为inputIdList = []. 如果问题仍然存在,请在线程中发送输出。

aluckdog

正如 Abarnert 所说,您需要重组您的方法。但我想我找到了你被卡住的地方。检查输入数字的长度后,您应该检查该数字是否与任何匹配fakeID,并获取相应的类名称。所以你的第一个循环应该是这样的for i in toplist:而不是for i in [i for i,x in enumerate(inputIDList) if x == fakeID]:因为inputIDList是空的,你的程序不会进入循环。在更改后的循环中,您应该检查if s == fakeID这是我对您所需操作的理解的极限。但是,如果您需要进一步的帮助,请询问。干杯。
随时随地看视频慕课网APP

相关分类

Python
我要回答