Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 20, 2010 20:45:46

zero99
От:
Зарегистрирован: 2010-01-20
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл

Есть программа расчитывающая корни квадратного уравнения:
import math
a=1.0
b=0
c=-1.0
d=b**2-4*a*c
x1=(-b+math.sqrt(d))/2.0*a
x2=(-b-math.sqrt(d))/2.0*a
print x1, x2
И мне надо дописать так программу, что бы она создала txt файл, и записала тутда результата(x1 , x2)….
Начало примерно знаю: open('results.txt','w').write ('ww')
Извините за тупой вопрос, я только начал изучать Python, до этого не занимался програмированием!



Офлайн

#2 Янв. 20, 2010 20:48:05

expee
От:
Зарегистрирован: 2009-12-21
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл

out = open('results.txt', 'w')
out.write('%d\n%d' % (x1, x2))
out.close()



Офлайн

#3 Янв. 20, 2010 20:49:58

zero99
От:
Зарегистрирован: 2010-01-20
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл

Спасибо большое!



Офлайн

#4 Янв. 20, 2010 20:53:47

zero99
От:
Зарегистрирован: 2010-01-20
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл

out.write('%d\n%d' % (x1, x2))
Что значит %?
И код ‘%d\n%d’



Офлайн

#5 Янв. 20, 2010 20:58:48

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл

%d - обозначает что на этом месте будет десятичное число
\n -перевод строки (к слову, для венды надо писать \n\r)
% (x1, x2) - это переменные, значения которых, мы подставляем заместо %d

Вот, поизучай



Отредактировано (Янв. 20, 2010 21:00:52)

Офлайн

#6 Янв. 20, 2010 21:03:03

expee
От:
Зарегистрирован: 2009-12-21
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл

Почитай про форматирование строк (не обязательно в питоне). Фактически %d - целое число, которое мы хотим подствить в строку. Здесь их 2. Дальше через символ % мы передаем кортеж с целочисленными значениями. В принципе, это строку можно было записать так:

out.write(str(x1) + '\n' + str(x2))



Офлайн

#7 Янв. 20, 2010 21:09:26

zero99
От:
Зарегистрирован: 2010-01-20
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл

Спасибо



Офлайн

#8 Янв. 20, 2010 21:15:42

zero99
От:
Зарегистрирован: 2010-01-20
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл

Вопрос: а можно в эту строку дописать код, что бы он дописал текст к результату?
Спасибо



Офлайн

#9 Янв. 20, 2010 21:19:43

expee
От:
Зарегистрирован: 2009-12-21
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл

Можно.



Офлайн

#10 Янв. 20, 2010 21:20:15

zero99
От:
Зарегистрирован: 2010-01-20
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл

А как???



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version