Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Программирование на Python

Глеб Малышев Ученик (105), на голосовании 3 дня назад
Программа работает, но величины не записываются в файл. Помогите!
m = int(input("Введите массу элемента: "))
t_max = int(input("Введите период полураспада(в секундах): "))
dt = 1
t = 0
l = 1 / (2*t_max)
filename = 'Масса и время.txt'
while t < t_max:
dm = dt*l*m
m = m - dm
t = t + dt
print(t)
print(m)
with open(filename, 'a') as file_object:
file_object.write(str(t))
file_object.write(str(m))
Голосование за лучший ответ
Роман Летнев Мастер (1082) 1 месяц назад
Чтобы они записывались в нужное место, нужно указать путь, а не только название.
Никита Охотников Профи (656) 1 месяц назад
Ну не называйте вы файлы с пробелами/заглавными буквам, а уж тем более с использованием кириллицы - вы же сами себе палки в колёса вставляете, да и плюсом, как и сказал человек выше, ты даже не уточнил в какой директории лежит твой .txt файл и файл python: если txt лежит в одной папке, а python - в другой, то тут одним названием не отделаешься.
Опять же, можно скинуть ошибку сюда, чтобы люди проанализировали, помогли...
Вертолётов 625 Мудрец (15057) 1 месяц назад
Код:
 m = int(input("Введите массу элемента: ")) 
t_max = int(input("Введите период полураспада (в секундах): "))
dt = 1
t = 0
l = 1 / (2 * t_max)
filename = r'C:\Users\Admin\Desktop\Масса и время.txt' # Используем сырой строковый литерал для пути

with open(filename, 'w') as file_object: # Открываем файл для записи ('w')
while t < t_max:
dm = dt * l * m
m = m - dm
t = t + dt
print(f"Время: {t}, Масса: {m:.2f}")
file_object.write(f"{t}\t{m:.2f}\n") # Записываем время и массу с табуляцией и переходом на новую строку
Похожие вопросы