#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()
Комментариев нет:
Отправить комментарий