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