учусь языку python, передомной стало задание сделать обычное сложение чисел, я знаю что можно сделать легче чем я, но я решил сделать всё это через функцию def, но я не могу понять что не так, выскакивает ошибка NameError: name 'x' is not defined
Первые 3 строки предполагают ввод текстов, а не чисел. Тексты тоже можно складывать, но не в арифметическом смысле. Можно примерно так: a=int(input("Первое число:")) b=int(input("Второе число:")) c=int(input("Третье число:")) def start(a,b,c):return a+b+c print("ваше число:", start(a,b,c))
У вас не получается достать X потому, что эта переменная была создана и поэтому доступна только в функции start(). Чтобы получить к ней доступ просто надо сделать ее глобальной при помощи оператора global и должно получиться вот так: a = int(input("Первое число:")) # Здесь на ввод программа получает string а для сложение ее надо перевести в integer b = int(input("Второе число:")) c = int(input("Третье число:")) def start(a,b,c): global x #Тут x = a + b + c return x print(start(a, b, c)) print("ваше число: " + str(x)) # Ну и тут вы хотите сложить объект типа string с объектом типа integer. Такой код приведет к ошибке, поэтому X нужно сделать стройкой
Второй print лишний и в нем пропущена запятая. Должно быть print("ваше число:", +x) Ну а лучше всего конечно была бы конструкция типа print("ваше число:", start(a,b,c))