Созданная мной функция не сохраняет результат в текстовый файл - PullRequest
0 голосов
/ 28 апреля 2020

У нас есть упражнение, в котором нам говорят преобразовать градусы Цельсия в градусы Фаренгейта и сохранить результат в новом текстовом файле. Но я не получаю результат, сохраненный в текстовом файле. Может ли кто-нибудь указать, где я ошибаюсь?

Вот код: -

temperatures=[10,-20,-289,100]
file = open("temperature_result.txt",'w')
def c_to_f(c):
    f=c*9/5+32
    for t in temperatures:
        return((c_to_f(t))
    file.write(str(c_to_f(t)))
file.close()

Я получаю эту ошибку в терминале: -

File ".\python_to_ttx.py", line 7
    file.write(str(c_to_f(t)))
       ^
SyntaxError: invalid syntax

Ответы [ 2 ]

2 голосов
/ 28 апреля 2020

Вы должны использовать with метод:

def c_to_f(c):
    f = c * 9 / 5 + 32

    return f


def write_file(file, temperatures):
    with open(file, 'w'):
        for t in temperatures:
            file.write(str(c_to_f(t)))
        file.close()


temperatures = [10, -20, -289, 100]
file = "temperature_result.txt"

write_file(file, temperatures)
2 голосов
/ 28 апреля 2020

Попробуйте этот код

temperatures=[10,-20,-289,100]
file = open("temperature_result.txt",'w')
def c_to_f(c):
    f=c*9/5+32
    return f
for t in temperatures:
    file.write(str(c_to_f(t)))
file.close()
...