вывод в текстовый файл
надо сделать вывод в текстовый файл. Но почему-то не работает данный вариант. подскажите в чём ошибка.
import calendar
import random
input('введите имя ученика: ')
m1=calendar.monthrange(2021,11)[1]
m2=calendar.monthrange(2021,12)[1]
s1=list(range(1,m1+1))
s2=list(range(1,m2+1))
s=s1+s2
#открываем текстовый файл для записи
f=open("output.txt","w")
a=random.randint(10,13)
b=random.choices(s,k=a)
print('Количество полученных оценок: ',a)
print('В эти дни ученик получил отметку: ',b)
f.close()
for i, elem in enumerate(b):
if elem % 2 == 0:
b[i] = 4
else:
b[i]=3
#открываем текстовый файл для дозаписи
ff=open("output.txt","a+")
sa=sum(b)/len(b)
print('Средняя оценка ученика ',sa)
ff.close()
print(f,ff)
Ответы (1 шт):
Автор решения: SergFSM
→ Ссылка
Если хотите использовать именно print для вывода в файл, то попробуйте заменить такой ваш вывод:
f=open("output.txt","w")
a=random.randint(10,13)
b=random.choices(s,k=a)
print('Количество полученных оценок: ',a)
print('В эти дни ученик получил отметку: ',b)
f.close()
на такой:
a = random.randint(10,13)
b = random.choices(s,k=a)
with open("output.txt","w") as f:
print(f'Количество полученных оценок: {a}', file=f)
print(f'В эти дни ученик получил отметку: {b}', file=f)
как работает print() документация