简体   繁体   English

如何设置计数发生?

[英]How can I set up a Count occurrence?

I'm trying to set up a count occurrence which will count how much people are in an array and then I want to use that number in a calculation to calculate the total money made from the tickets but I'm not sure how I'm supposed to do this. 我正在尝试设置一个计数事件,该事件将对数组中的人数进行计数,然后我想在计算中使用该数字来计算门票产生的总收入,但是我不确定我如何应该这样做。

Each customer_ID starts with a c which I wanted to use as a the search term. 每个customer_ID均以c开头,我想将其用作搜索词。

def read_info():
    customer_id_list = []
    ticket_id_list = []
    number_of_tickets_list = []
    buy_method_list = []
    ticket_price = 0
    total_for_customer_list = []

    file = open ("Data.txt","r")
    for line in file:

        #Splits the data from the text file into it's corresponding variables.
        customer_id,ticket_id,number_of_tickets,buy_method = line.split(",",4)

        #Adds customer_id into the customer_id_list array
        customer_id_list.append(customer_id)

        # Adds ticket_id into the ticket_id_list array
        ticket_id_list.append(ticket_id)

        # Adds number_of_tickets into the number_of_tickets_list array
        number_of_tickets_list.append(number_of_tickets)

        #Adds the buy_method into the buy_method_list array
        buy_method_list.append(buy_method)

        #Using IF statements the program works out the price for each day which will be later used to calculate the total price for the customer and the total raised for charity.
        if ticket_id in ['F1','F2','F3']:
            ticket_price = 10
        if ticket_id in ['W1','W2','W3','T1','T2','T3']:
            ticket_price = 5

        #converts the ticket_price from a string variable to a integer variable which allows this variable to be used in a calculation.
        ticket_price = int(ticket_price)
        #converts the number_of_tickets from a string variable to a integer variable which will be used in a calculation.
        number_of_tickets = int(number_of_tickets)

        #calculates the total price that will be paid for each customer by multyplying the ticket_Price which was worked out using the 'IF' statements by the number_of_tickets the customer has bought
        total_for_customer = ticket_price * number_of_tickets


    return customer_id_list,ticket_id_list,number_of_tickets_list,buy_method_list,ticket_price,total_for_customer

def find_number_of_people (customer_id_list):




#main program
customer_id_list,ticket_id_list,number_of_tickets_list,buy_method_list,ticket_price,total_for_customer = read_info()
find_number_of_people (customer_id_list)

Since I cannot comment under your question, let me guess what you want. 由于我无法根据您的问题发表评论,因此让我猜您想要什么。

If you want to get the length (ie the number of elements in an array), try: 如果要获取长度(即数组中元素的数量),请尝试:

len(array_name)

So I see you have calculated the total money for every customer, just add them up and you will get the grand total money of all tickets. 因此,我看到您已经计算了每个客户的总金额,只需将它们加起来,您将获得所有门票的总金额。 To do this, try: 为此,请尝试:

grand_total = 0
for money in total_for_customer_list:
     grand_total = grand_total + money

If I got you wrong, just discuss with me under my answer so that I can reply. 如果我弄错了,请在我的回答下与我讨论,以便我回复。

The following is a refactored version of your code. 以下是代码的重构版本。 Could you please explain in your question what you are trying to do? 您能在问题中解释您要做什么吗? Maybe you could finish the main function shown below and pretend several functions exists that do what you want. 也许您可以完成下面显示的main功能,并假装存在几个可以满足您需要的功能。

import csv


TICKET_PRICES = dict(F1=10, F2=10, F3=10, T1=5, T2=5, T3=5, W1=5, W2=5, W3=5)
DATA_COLUMNS = ('customer', 'ticket_type', 'ticket_count', 'ticket_total',
                'method')


def main():
    """Process ticket sale information from a database file."""
    data = read_data('data.txt')
    columns = pivot(data, DATA_COLUMNS)
    find_number_of_people(columns['customer'])


def read_data(path):
    """Get all ticket data from a file and start processing the information."""
    data = []
    with open(path, newline='') as file:
        reader = csv.reader(file)
        for customer, ticket_type, count, method in reader:
            ticket_price = TICKET_PRICES[ticket_type]
            ticket_count = int(count)
            ticket_total = ticket_price * ticket_count
            row = customer, ticket_type, ticket_count, ticket_total, method
            data.append(row)
    return data


def pivot(data, column_names):
    """Convert the data table into a collection of related columns."""
    columns = {name: [] for name in column_names}
    for row in data:
        for key, value in zip(column_names, row):
            columns[key].append(value)
    return columns


def find_number_of_people(customers):
    """What am I supposed to do here? The current goal is not clear."""
    pass


if __name__ == '__main__':
    main()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在 Python 中按顺序计算相邻元素的出现次数? - How can I count the occurrence of adjacent elements in order in Python? 如何计算列表中每个唯一出现的类? (Python) - How do I count up each unique occurrence of class in list? (Python) 我如何计算名称列表中所有名称的出现次数,其中字母“i”作为第二个字母 - How can I count the occurrence of all the names in the names list which have the letter 'i' as their second letter 如何使用 Python 计算嵌套字典 in.json 文件中某个项目的出现次数(并可能迭代)? - How can I count occurrence of an item in nested dictionaries in .json file using Python (and possibly iterate over)? 如何使用字典理解来计算文档中每个单词的出现次数 - How can i count occurrence of each word in document using Dictionary comprehension 如何根据 dataframe 中的条件计算字符串值的出现次数? - How do I count the occurrence of string values based on a condition in a dataframe? 如果单词在字典中,我如何计算每行中的单词出现次数 - How do I count word occurrence in each line if the word is in a dictionary 如何计算 ndarray 中某个项目的出现次数? - How do I count the occurrence of a certain item in an ndarray? numpy-如何按索引计算嵌套列表中项目的出现? - numpy - how do I count the occurrence of items in nested lists by index? 如何替换字符串中的第二次出现? - How can I replace the second occurrence in a string?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM