Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

Запись переменной в файл

#python #python_3x


Суть задачи:
Программа спрашивает у пользователя (....)
Потом выводит результат записывая его в переменную.
Затем этот результат мне нужно записать в файл.

Вот код: 

eye_color = input("Какой у Вас цвет глаз: ") # определяет цвет глаз.
result_eye_color = print("Ваш цвет глаз: " + eye_color + "\n")

f = open("test.txt", "w")
f.write(result_eye_color))
f.close()


Выводит ошибку:


  TypeError: write() argument must be str, not None


Вроде как исправил...

eye_color = input("Какой у Вас цвет глаз: ") # определяет цвет глаз.
result_eye_color = print("Ваш цвет глаз: " + eye_color + "\n")

f = open("test.txt", "w")
f.write(str(result_eye_color)) # исправил так
f.close()


Но теперь в файл записывается только строка None

Помогите, пожалуйста.
    


Ответы

Ответ 1



Проблема здесь: result_eye_color = print("Ваш цвет глаз: " + eye_color + "\n") Функция print() возвращает None, так что result_eye_color будет None, и потому string(result_eye_color) даст строку "None". Используйте просто переменную eye_color: f.write(eye_color)

Ответ 2



Как верно заметил @MarianD, ошибка находится в строке: result_eye_color = print("Ваш цвет глаз: " + eye_color + "\n") Вы пытаетесь выполнить два разных действия в один заход. Первое действие - вывод в консоль текста методом print, а второе - присваивание текста переменной result_eye_color. Рабочий вариант выглядел бы примерно так: eye_color = input("Какой у Вас цвет глаз: ") # определяет цвет глаз. result_eye_color = "Ваш цвет глаз: " + eye_color + "\n" print(result_eye_color) # если вы действительно хотите вывести этот текст в консоль f = open("test.txt", "w") f.write(result_eye_color) f.close()

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

Отправить комментарий