1
var1,var2 = input("Enter two digits a and b (0-9):").split(' ')
while True:
if (0 <= var1 <= 9) and (0 <= var2 <= 9):
result = var1+var2
print("The result is: %r." %result)
Я использую Spyder Python 3.5, чтобы написать этот код и попытаться запустить его. Однако этот код не работает.Python Input Split с предельным диапазоном
Это показывает, что «(1) var1, var2 = input (« Введите две цифры a и b (0-9): »). Split (''); (2) TypeError: объект 'str' не является вызываемый «
Вы должны иметь имя предыдущей переменной' input' или 'split', перезаписывая встроенные функции. Не делай этого. Кроме того, ваш код будет работать не так, как ожидалось, потому что 'input()' возвращает строки, а не int. Вам нужно будет вызвать «var1 = int (var1)» и «var2 = int (var2)», чтобы получить целые числа, которые вы затем можете сравнить в своем выражении 'if'. Наконец, поставив оператор 'if' и' print() 'в цикле' while True', ваша программа будет непрерывно печатать ответ до тех пор, пока вы не выйдете из него с помощью Ctrl-C. Я сомневаюсь, что это то, что вы хотите. – MattDMo
Спасибо за ваше предложение. Я смущаюсь о «перезаписывании встроенной функции», и он все еще показывает, что объект TypeError: 'str' не является вызываемым –
Python имеет некоторые встроенные функции, не импортирующие ничего, включая 'input',' print', 'max ',' min' и т. д., а также методы, связанные с типами данных по умолчанию - списками, dicts, ints, float, strings и т. д. 'split()' - это строковый метод, например, вы вызываете его строка. В какой-то момент вашей сессии или кода вы должны назначить переменную с именем 'input' и перезаписать или замаскировать встроенную функцию. – MattDMo