Невозможно повторить функцию в операторе else, получая сообщение об ошибке 'str' объект не может быть вызван - PullRequest
0 голосов
/ 24 апреля 2018

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

def SchoolYear():
 os.system('clear')
 print('Please enter Which Year you are in School. EX.) 11th or Senior')
 print('')
 global SchoolYear
 SchoolYear = input('Please enter the class: ')
 if SchoolYear in ('11th', '12th', '10th', '9th', 'Senior', 'senior', 'freshman', 'Freshman', 'sophomore', 'Sopomore', 'junior', 'Junior' ):
    print('Good Job')
 else:
    print("Invalid Entry Please Try again...")
    print('')
    SchoolYear()

Все, что я хочу, чтобы этот код был де, еслиэто не соответствует моей критике, чтобы затем повторить ту же функцию, но я постоянно получаю объект кода ошибки 'str', не вызываемый

Ответы [ 2 ]

0 голосов
/ 24 апреля 2018

Программа путает имя переменной SchoolYear с именем функции SchoolYear.Измените имя функции или переменной, и она будет работать:

def SchoolYearFunc():
    os.system('clear')
    print('Please enter Which Year you are in School. EX.) 11th or Senior')
    print('')
    global SchoolYear
    SchoolYear = input('Please enter the class: ')
    if SchoolYear in ('11th', '12th', '10th', '9th', 'Senior', 'senior', 'freshman', 'Freshman', 'sophomore', 'Sopomore', 'junior', 'Junior' ):
        print('Good Job')
    else:
        print("Invalid Entry Please Try again...")
        print('')
        SchoolYearFunc()
0 голосов
/ 24 апреля 2018

как насчет

var = raw_input("Please enter something: ")
print "you entered", var

if var in ['11th', '12th', '10th', '9th', 'Senior', 'senior', 'freshman', 'Freshman', 'sophomore', 'Sopomore', 'junior', 'Junior']:
    print('Good Job')
 else:
    print("Invalid Entry Please Try again...")

, есть ли причина, по которой вы хотите заключить вышеуказанную функциональность в класс?

...