Получите данные из резюме в инкапсуляцию - PullRequest
0 голосов
/ 23 мая 2019

Я не могу получить данные из класса, который я настроил как абстрактный. В этом классе, если я нажму «1», он должен позволить мне перейти к той части, где я могу

  • Введите имя и фамилию:
  • Введите адрес:
  • Введите телефон:
  • Введите адрес электронной почты:

Честно говоря, я не знаю, с чего начать.

    class Student: # abstract
       def student_submenu (a,select_num):
         a.select_num = select_num

       def ss_1 (z):

         print("\n")
         print(" ===== | SUBMENU - STUDENTS | ===== ")
         print("||                                 ||")
         print("=====================================")
         print(" 1 - ADD NEW STUDENT")
         choice2 = input()
            while choice2 not in ['1', '2', '3', '4', '5']:
            print("Invalid Please try again")
            return select_num.student_submenu()



      def ss_2 (z1):
        if(choice2 == '1'):
        firstlast = input("Enter First name and last name: ")
        address = input("Enter Address: ")
        phone = input("Enter phone: ")
        email = input("Enter Email-Address: ") 
        print("\n")

        print(firstlast)
        print(address)
        print(phone)
        print(email)

  class Main:  #encapsulation
      def main_page(self):
        print("===== | MAIN MENU |=====")
        print("||                    ||")
        print("========================")
        print("1 - STUDENT ")
        print("2 - SUBJECT ")
        print("3 - QUIT ")
        allchoice = ['1', '2', '3'];
        choice = input()



       while choice not in allchoice:
         print("Invalid Please try again")
         choice = input()

       if choice == '1':
         a = Student()
         a.student_submenu

      elif choice == '2':
         print("back world")
      else:
        quit()

  mainout = Main()
  mainout.main_page()

Когда я бегу, я получаю сообщения об ошибках вроде:

line 2
class
    ^
SyntaxError: invalid syntax

Ответы [ 2 ]

0 голосов

Чтобы расширить другой ответ на вопрос: вы используете крайне противоречивые и неправильные отступы. Если вы используете неправильный отступ, у вас будет много ошибок, включая ту, что вы получили.

Каждый новый блок должен иметь отступ в 4 пробела (вкладки также работают), и все, что определено в глобальной области (в этом случае ваши 2 класса и последние 2 строки кода), вообще не должно иметь отступ.

Попробуйте изменить свой код на это:

class Student: # abstract
    def student_submenu (a,select_num):
        a.select_num = select_num

    def ss_1 (z):
        print("\n")
        print(" ===== | SUBMENU - STUDENTS | ===== ")
        print("||                                 ||")
        print("=====================================")
        print(" 1 - ADD NEW STUDENT")
        choice2 = input()
        while choice2 not in ['1', '2', '3', '4', '5']:
           print("Invalid Please try again")
        return select_num.student_submenu()



    def ss_2 (z1):
        if(choice2 == '1'):
            firstlast = input("Enter First name and last name: ")
            address = input("Enter Address: ")
            phone = input("Enter phone: ")
            email = input("Enter Email-Address: ") 

            print("\n")
            print(firstlast)
            print(address)
            print(phone)
            print(email)

class Main:  #encapsulation
    def main_page(self):
        print("===== | MAIN MENU |=====")
        print("||                    ||")
        print("========================")
        print("1 - STUDENT ")
        print("2 - SUBJECT ")
        print("3 - QUIT ")
        allchoice = ['1', '2', '3'];
        choice = input()



        while choice not in allchoice:
            print("Invalid Please try again")
            choice = input()
            if choice == '1':
                a = Student()
                a.student_submenu
            elif choice == '2':
                print("back world")
            else:
                quit()

mainout = Main()
mainout.main_page()

Смотри также:

0 голосов
/ 23 мая 2019

Я считаю, что ваша проблема связана с отступом. В Python отступы очень важны и должны быть последовательными. Все на уровне модуля не должно иметь отступов, и когда вы делаете отступ, вы должны быть последовательными (4 пробела обычно по умолчанию)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...