Python, пишущий файл .txt

Kyle Oliver спросил: 13 июня 2018 в 03:29 в: python
print('Welcome, I am Sam. I am ABMs personal assistant, today we will be pooling tips together!')file = open("tipsdate.txt","w") name=str(input('Who do I have the pleasure of working with? '))tips=int(input('How many tips did we collect today? '))
workers=int(input('How many people worked today? '))
cars=int(input('How many cars did we park today?'))if workers == 1:
        print('Worker 1 earned $',tips)
elif workers == 2:
        a=int(input('How many hours did worker 1 work? '))
        b=int(input('How many hours did worker 2 work? '))
        totalhrs=a+b
        tipsa= (a/totalhrs)* tips
        tipsb= (b/totalhrs)*tips
        print('Worker one earned $',tipsa)
        print('Worker two earned $',tipsb)
elif workers == 3:
        a=int(input('How many hours did worker 1 work? '))
        b=int(input('How many hours did worker 2 work? '))
        c=int(input('How many hours did worker 3 work? '))
        totalhrs=a+b+c
        tipsa= (a/totalhrs)* tips
        tipsb= (b/totalhrs)*tips
        tipsc= (c/totalhrs)*tips
        print('Worker one earned $',tipsa)
        print('Worker two earned $',tipsb)
        print('Worker three earned $',tipsc)
elif workers == 4: 
        a=int(input('How many hours did worker 1 work? '))
        b=int(input('How many hours did worker 2 work? '))
        c=int(input('How many hours did worker 3 work? '))
        d=int(input('How many hours did worker 4 work? '))
        totalhrs=a+b+c+d
        tipsa= (a/totalhrs)* tips
        tipsb= (b/totalhrs)*tips
        tipsc= (c/totalhrs)*tips
        tipsd= (d/totalhrs)*tips
        print('Worker one earned $',tipsa)
        print('Worker two earned $',tipsb)
        print('Worker three earned $',tipsc)
        print('Worker four earned $', tipsd)
elif workers > 4:
    print('I am not programmed to calculate tips beyond 4 workers, I am a work in progress!')cartips=tips/cars
print('Our tips per car average today was $ ',cartips)
file.close() print('Thank you for your help',name,'I hope we work together again soon! :) ')

Привет, спасибо, что нашли время, чтобы помочь мне. Я любитель, сам преподаватель python. Я пытаюсь понять, как написать .txt-файл с условными циклами и различными пользовательскими вводами. Я понимаю, что это noobie, но как можно сохранить всю эту информацию в файле .txt?

Это для моей работы с парковкой автомобилей, просто интересный проект, который поможет мне получить больше опыт! Спасибо. Любые предложения тоже приветствуются, чтобы улучшить мой код - я понимаю его, вероятно, крики noob!

1 ответ

Nishant ответил: 13 июня 2018 в 03:55

file.write вместо print будет писать, если в файл. Также input записывает на монитор, а не на файл. Проверьте https://docs.python.org/3/tutorial/inputoutput.html

Вам не нужно повторять код для каждого из рабочих, вместо этого вы можете сделать что-то вроде этого, что loops по переменной workers:

tips = 100
workers = [("w1", 8), ("w2", 8)]
hours = 0
for worker, hour in workers:
    hours = hours + hour
print(hours)
for worker, hour in workers:
    tip = (float(tips) / float(hours)) * hour
    print(worker, tip)
Nishant ответил: 14 июня 2018 в 03:01
@KyleOliver, помог ли вы решить вашу проблему?
Kyle Oliver ответил: 17 июня 2018 в 06:59
Таким образом, в принципе нет эффективного способа записи данных в файл?
Kyle Oliver ответил: 17 июня 2018 в 07:00
Входы не обязательно должны находиться в файле, а только печатная информация. Есть ли способ печатать и писать в файл, сэр? Спасибо, как я сказал им noob :)

Дополнительное видео по вопросу: Python, пишущий файл .txt

Python Tutorial: File Objects - Reading and Writing to Files

Text Files in Python || Python Tutorial || Learn Python Programming

21.Python для Начинающих - Использование JSON