почему он не содержит мой список добавления?я пытаюсь продолжить добавлять больше элементов в список во время цикла, но когда цикл продолжается, он исчезает - PullRequest
0 голосов
/ 02 января 2019

я создаю программу для сбора информации о студентах (школьные цели), но когда я пытаюсь добавить новые переменные в свой список, он не содержит ее (я не закрывал цикл), мне нужна помощь

Я пытался найти источники в интернете, которые могут мне помочь, и смотрел тонны видео в yt, но до сих пор не ответил на мою проблему

count=1
loop=2
while count<loop:
    start = input ("Welcome student \n[1]login [2] register [3} Exit\n")
    stud_num =[]
    stud_course=[]
    stud_level=[]
    stud_name=[]
    stud_Add=[]
    stud_bday=[]
    stud_fname=[]
    stud_mname=[]
    if start== '1':
        stud_numb = int (input ("Hello what is your student No. "))
        if stud_numb in stud_num:
            print("you are registered")
        else:
            print("Your Student number is not registered please register")

    elif start == '2':
        num =int (input("Enter your Student number: "))
        stud_num.append(num)
        course= input("Enter your course: ")
        stud_course.append(course)
        level=int(input("Enter Year Level: "))
        stud_level.append(level)
        name=input("Enter Student name: ")
        stud_name.append(name)
        add=input("Enter Student Address: ")
        stud_Add.append(add)
        bday=int(input("Enter Birthdate: "))
        stud_bday.append(bday)
        fname=input("Enter student Father's name: ")
        stud_fname.append(fname)
        mname=input("Enter Student's Mother name: ")
        stud_mname.append(mname)
        print (stud_num,stud_course,stud_level,stud_name,stud_Add,stud_bday,stud_fname,stud_mname)

    elif start=='3':
        print("Thank you for using the program")
        break
    else:
        print("Invalid choice try again")

Я ожидаю, что когда они там наберут, ученик нет это покажет, что они уже зарегистрированы

Ответы [ 2 ]

0 голосов
/ 02 января 2019

В начале каждой итерации вы устанавливаете stud_num и весь список в [] пустой список, который переопределяет предыдущее состояние списка, следовательно, ваши добавленные элементы никогда не будут отображаться.Вам нужны объявления списка вне цикла.

0 голосов
/ 02 января 2019

Вы делаете неправильно.На каждой итерации вы создаете новый список, а не добавляете его к существующему.Инициализируйте все lists вне цикла while, как показано в приведенном ниже коде.

count=1
loop=2
stud_num =[]
stud_course=[]
stud_level=[]
stud_name=[]
stud_Add=[]
stud_bday=[]
stud_fname=[]
stud_mname=[]
while count<loop:
    start = input ("Welcome student \n[1]login [2] register [3} Exit\n")
    if start== '1':
        stud_numb = int (input ("Hello what is your student No. "))
        if stud_numb in stud_num:
            print("you are registered")
        else:
            print("Your Student number is not registered please register")

    elif start == '2':
        num =int (input("Enter your Student number: "))
        stud_num.append(num)
        course= input("Enter your course: ")
        stud_course.append(course)
        level=int(input("Enter Year Level: "))
        stud_level.append(level)
        name=input("Enter Student name: ")
        stud_name.append(name)
        add=input("Enter Student Address: ")
        stud_Add.append(add)
        bday=int(input("Enter Birthdate: "))
        stud_bday.append(bday)
        fname=input("Enter student Father's name: ")
        stud_fname.append(fname)
        mname=input("Enter Student's Mother name: ")
        stud_mname.append(mname)
        print (stud_num,stud_course,stud_level,stud_name,stud_Add,stud_bday,stud_fname,stud_mname)

    elif start=='3':
        print("Thank you for using the program")
        break
    else:
        print("Invalid choice try again")

См. Это в действии здесь .

Надеюсь, это поможет!

...