Невозможно выровнять итератор для создания вывода, соответствующего вводу - PullRequest
0 голосов
/ 03 августа 2020

Эта программа позволяет вам вводить имя и дилерский центр для добавления в словарь и с помощью вложенного l oop кортежа недели и дня позволяет вводить автомобили, проданные для каждого имени.

My Единственная проблема в том, что функция sales_output () не выстраивается должным образом для отображения автомобилей, проданных с привязкой к нужным сотрудникам. Вместо того, чтобы правильно переходить к следующей неделе продаж, привязанных к каждому сотруднику, он будет использовать следующий набор продаж, который фактически привязан к другому сотруднику, например:

Сотрудник 1 продает 1 автомобиль каждый день в первую неделю и 3 машины каждый день во вторую неделю.

Сотрудник 2 продает 2 машины каждый день в первую неделю и 4 машины каждый день во вторую неделю.

sales_output скажет, что Сотрудник 1 продал 1 машину каждый день в первую неделю, а затем 2 машины в день во вторую неделю. Сотрудник 2 будет зарегистрирован как продавец 3 автомобиля каждый день в первую неделю и 4 автомобиля каждый день во вторую неделю. Не уверены, какую крошечную математическую задачу я решаю, чтобы правильно выровнять функцию?

sales_reps_global = {}
cars_sold_thursday = []
cars_sold_friday = []
cars_sold_saturday = []

compliments = []

def create_tuples():
    weeks_tuple = 'Week One', 'Week Two'
    days_tuple = ('Thursday', 'Friday', 'Saturday')
    return weeks_tuple , days_tuple

def employees():
    name = input("\nEnter employee first and last name: ")  # First and Last Names of Sales People in one string
    dealership = input("Enter employee dealership: ")  # Their dealerships
    i = int(input("Enter -1 to stop entering employee information: "))
    add_sales_rep(name, dealership)
    return i

def add_sales_rep(name, dealership):
    sales_reps_global[name] = dealership
    #print(sales_reps_global)

def week_sales_loop (days, week):
    print('\n----------Entering cars for {} ----------'.format(week))
    day_sales_loop(days)

def day_sales_loop(days):
    for key in sales_reps_global.keys():
        cars_sold_thursday.append(int(input('\nThursday cars sold by {}: '.format(key))))
        print(cars_sold_thursday)
        cars_sold_friday.append(int(input('Friday cars sold by {}: '.format(key))))
        print(cars_sold_friday)
        cars_sold_saturday.append(int(input('Saturday cars sold by {}: '.format(key))))
        print(cars_sold_saturday)

def set_compliments():
    x = 0
    while x < 3:
        x += 1
        compliments.append(input('\n {}. Enter a compliment about one employee (include their name): '.format(x)))


def get_compliments(key):
    j = 0
    compliments_count = 0
    for x in compliments:
        if key in compliments[j]:
            compliments_count += 1
        j += 1
    return compliments_count

def sales_output():
    weeks, days = create_tuples()
    a = 0
    for key in sales_reps_global:
        print('\n{} of '.format(key) + sales_reps_global[key])
        print('Cars Sold')

        cars_sold = 0
        for week in weeks:
            cars_sold += cars_sold_thursday[a]
            cars_sold += cars_sold_friday[a]
            cars_sold += cars_sold_saturday[a]
            print('{}'.format(week))
            print('Thursday: {}'.format(cars_sold_thursday[a]))
            print('Friday: {}'.format(cars_sold_friday[a]))
            print('Saturday: {}\n'.format(cars_sold_saturday[a]))
        a+= 1
        print('\n Cars Sold: {}'.format(cars_sold))
        print('Average Cars Sold: {}'.format(round(cars_sold / 6)))
        print('Number of Compliments: {}'.format(get_compliments(key)))

def main():
    weeks, days = create_tuples()
    #print(weeks, days)
    i = 0
    while i != -1:
        i = employees()
    for week in weeks:
        week_sales_loop(days, week)
    set_compliments()
    sales_output()

if __name__ == '__main__':
    main()
else:
    pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...