Вопросы о синтаксической ошибке и функции elif

#python

#python

Вопрос:

Итак, я написал это:

 print("Hello There! Welcome 69Bot. What's your name?")
x = input()
print("Hello there, " x "Are you a student or teacher?")
if input == "student" or "Student":
    print("Welcome! Please enter the class code provided by your teacher:")
elif input == "Teacher" or "teacher":
    print("Welcome! Please enter the class code you would like to go to:")
else:
    print("Please enter a valid option")
 

Однако первая проблема заключается в том, что в кавычках после

 " x" "print("Hello there, " x "Are you a student or teacher?")
 

Вторая проблема заключается в том, что он автоматически предполагает, что вы студент, и не принимает elif . Как я могу изменить код, чтобы исправить эти две проблемы? Это происходит после ввода вашего имени вместо того, чтобы останавливаться, чтобы посмотреть, ввели ли вы ученика или учителя:

 Hello there! Are you a student or teacher?
Welcome! Please enter the class code provided by your teacher:
 

Комментарии:

1. Отправьте полное сообщение обратной трассировки. Мы все привыкли к ним, и это облегчает получение контекста для ошибки. В python операторы должны быть конкретными. Сделайте x , чтобы добавить x к строкам.

2. Распространенный способ проверки ввода — это нормализовать его, то есть привести его к единой ожидаемой форме. Вы могли бы сделать if input.strip().upper() == "STUDENT" . Теперь вас не волнуют незначительные различия в том, как было введено имя.

Ответ №1:

Ваша первая проблема заключается в том, что вам не хватает a после x . Вот так:

 print("Hello there, " x "Are you a student or teacher?")
 

Ваша вторая проблема заключается в том, что вы не сравниваете входные данные с "Student" .
Напишите это так:

 if x == "student" or x == "Student":
 

То же самое касается "teacher"

Ответ №2:

Строка

 print("Hello there, " x "Are you a student or teacher?")
 

После переменной x должен быть еще один знак плюс, поскольку после этого вы объединяете другую строку.

Вторая проблема заключается в том, что он автоматически предполагает, что вы студент, и не принимает elif. Как я могу изменить код, чтобы исправить эти две проблемы? Это происходит после ввода вашего имени вместо того, чтобы останавливаться, чтобы посмотреть, ввели ли вы ученика или учителя

Ваши операторы if / elif должны проверять переменную x, поскольку x содержит входное значение, введенное пользователем. Например:

 if x == ‘student’: 
 

Не:

 if input == ‘student’